【发布时间】:2014-04-07 03:44:23
【问题描述】:
所以 nullptr 错误在我在学校编译时没有出现,我想我可以通过在编译时添加一行来修复它,有没有另一种方法可以摆脱它,另外两个错误我不明白为什么我要得到它们。有人可以至少解释一下 nullptr 错误吗?
main.cpp:在函数'int main()'中:
错误:“数组”未在此范围内声明
错误:“小时”未在此范围内声明
错误:“nullptr”未在此范围内声明
int main()
{
float *studentData;
int numStudents;
int size;
int average = getAverage(*array, *hours);
int median = getMedian(hours);
int mode = getMode(hours);
cout << "How many students were surveyed? ";
cin >> numStudents;
studentData = makeArray(numStudents);
if (studentData == nullptr)
cout << "Error allocating memory.";
else
{
getFBData(studentData, numStudents);
selectionSort(studentData, numStudents);
for (int i = 0; i < numStudents; i++)
cout << *(studentData + i) << endl;
delete[] studentData;
}
getAverage(*array, hours);
printArray(size, hours);
getMedian(*array, hours);
getMode(*array, hours);
cout << "STATISTICS " << endl;
cout << "\n Mean: " << average;
cout << "\n Median: " << median;
cout << "\n Mode: " << mode;
return 0;
}
【问题讨论】:
-
nullptr应该在哪里声明? -
nullptr是 C++11 中的关键字 -
简洁,谢谢@MattMcNabb
-
@MattMcNabb 我将其更改为 NULL 而不是 nullptr 这是正确的决定吗?
-
是的,
NULL是一个扩展为0的宏。所以这也有效(只要您包含定义NULL的标头)。