C++ 未声明错误Nullptr

C++ 未声明错误Nullptr,c++,cmd,C++,Cmd,所以当我在学校编译时,nullptr错误没有出现,我想我可以在编译时添加一行来修复它,有没有其他方法来消除它,还有另外两个错误我根本不明白为什么我会得到它们。有人能至少解释一下nullptr错误吗 main.cpp:在函数“int main()”中: 错误:“数组”未在此范围内声明 int main() { float *studentData; int numStudents; int size; int average = getAverage(*ar

所以当我在学校编译时,nullptr错误没有出现,我想我可以在编译时添加一行来修复它,有没有其他方法来消除它,还有另外两个错误我根本不明白为什么我会得到它们。有人能至少解释一下nullptr错误吗

main.cpp:在函数“int main()”中:

错误:“数组”未在此范围内声明

    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 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”未在此作用域中声明

    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;
}
intmain()
{
浮动*学生数据;
国际学生;
整数大小;
int average=getAverage(*数组,*小时);
int中位数=Get中位数(小时);
int模式=getMode(小时);
女学生;
studentData=makeArray(numStudents);
if(studentData==nullptr)
cout在这一行:

int average = getAverage(*array, *hours);
您引用了
数组
小时数
,但是您尚未声明这些内容。代码的“学校版本”必须有所不同

R.null ptr> /c>错误:2011中添加到C++中。也许学校有最新的编译器,但在家里有一个较老的编译器。如果你把<代码> nulpPTR < /代码>改为<代码> 0 >代码>它会很好。< /p> 这行:

int average = getAverage(*array, *hours);
您引用了
数组
小时数
,但是您尚未声明这些内容。代码的“学校版本”必须有所不同


R.NulLPTR 错误:2011中添加到C++中。也许学校有最新的编译器,但在家里有一个较老的编译器。如果你把<代码> nulpPTR < /代码>改为<代码> 0 >代码>它就可以了。< /p> < p>最简单的方法是将null pTR改为0。虽然不是所有的时间都能工作。但是它可以是一个SM。全代码解决方案

在使用g++编译时,还可以使用-std=c++11参数。 因此,终端中的编译命令将是:
g++“您的文件”-std=c++11

解决此问题的最简单方法是将nullptr更改为0。虽然不是所有时间都有效。但它可以是一个小代码解决方案

在使用g++编译时,还可以使用-std=c++11参数。 因此,终端中的编译命令将是:
g++“您的文件”-std=c++11

应该声明的
nullptr
在哪里?
nullptr
是c++11中的一个关键字,谢谢@MattMcNabb@MattMcNabb我把它改为NULL而不是nullptr,这是正确的决定吗?是的,
NULL
是一个扩展到
0
的宏,所以它也可以工作(只要包含定义
NULL
的标题).应该在哪里声明
nullptr
nullptr
是C++11neat中的一个关键字,谢谢@MattMcNabb@MattMcNabb我把它改为NULL而不是nullptr,这是正确的决定吗?是的,
NULL
是一个扩展到
0
的宏,所以它也可以工作(只要包含定义
NULL
的标题)。它有不同的版本;请尝试
g++-v
,并将输出与您在学校获得的结果进行比较。很好,将Nullptr更改为0,修复了该错误,但其他两个仍然存在。我有导致错误的行的唯一原因是可以在int main的底部使用一个变量cout,我是否可以再次调用该函数并删除所有的麻烦行?我不知道你的意思。你的代码显然期望
array
hours
成为东西。这有不同的版本;尝试
g++-v
并将输出与你在学校得到的结果进行比较。很好,将Nullptr更改为0,修复了该错误,但其他两个仍然存在。这是我唯一的原因导致错误的行是在int main的底部有一个变量,我能不能再次调用该函数并删除一些行中的所有问题?我不知道你的意思。你的代码显然希望
array
hours
成为事实。