[英]Error Nullptr was not declared
因此,当我在学校对其进行编译时,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;
}
在这行上:
int average = getAverage(*array, *hours);
您指的是array
和hours
,但是您尚未声明这些内容。 代码的“学校版本”必须不同。
回覆。 nullptr
错误:该错误已在2011年添加到C ++中。也许学校使用的是最新的编译器,但您家里有较旧的编译器。 如果将nullptr
更改为0
,就可以了。
解决此问题的最简单方法是将nullptr更改为0。尽管并非始终如此。 但这可能是一个小的代码解决方案。
使用g ++进行编译时,也可以使用-std = c ++ 11参数。 因此,终端中的编译命令将为:g ++“ your file” -std = c ++ 11
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.