Ошибка Nullptr не была объявлена

0

Поэтому ошибка nullptr не появляется, когда я компилирую ее в школе, и я думаю, что смогу ее исправить, добавив строку, когда я ее скомпилирую, есть ли другой способ избавиться от нее, а две другие ошибки я не понимаю, почему я получаю их вообще. Может кто-нибудь объяснить хотя бы ошибку nullptr?

main.cpp: В функции 'int main()':

Ошибка: "массив" не был объявлен в этой области

Ошибка: "часы" не были объявлены в этой области

error: '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;
}
  • 0
    Где nullptr должен быть объявлен?
  • 4
    nullptr - это ключевое слово в C ++ 11
Показать ещё 4 комментария
Теги:
cmd

2 ответа

5
Лучший ответ

На этой строке:

int average = getAverage(*array, *hours);

вы ссылаетесь на array и hours, однако вы еще не объявили об этом. "Школьная версия" кода должна быть другой.

Число рейнольдса ошибка nullptr: это было добавлено в C++ в 2011 году. Возможно, в школе есть современные компиляторы, но у вас есть старший компилятор дома. Если вы измените nullptr на 0 это будет нормально.

  • 0
    Я использую MinGw
  • 0
    Это имеет различные версии; попробуйте g++ -v и сравните результат с тем, что вы получаете в школе.
Показать ещё 2 комментария
0

Самый простой способ решить эту проблему - изменить nullptr на 0. Хотя не всегда это работает. Но это может быть небольшое решение кода.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню