Я пытаюсь решить проблему на странице обучения USACO, и я решил, что мне понадобится следующая декларация:
Используя это, я написал программу, которая работает на моем компьютер, но когда я отправляю исходный файл в USACO Grader, я получаю следующую ошибку:
Ваша программа напечатала данные в stderr. Вот данные: Я заметил, что ошибка выдается во время компиляции, до запуска программы. Более того, я увидел, что если я комментирую объявление структуры, которую удается скомпилировать, и если я оставляю структуру без комментариев, но я комментирую объявление трехмерного массива, он также компилируется.
Пример:
struct type{
int x,y;
//int mat[2][NMAX][NMAX];
};
(вышеуказанный код в порядке)
Не могли бы вы объяснить, что не так с этим объявлением и как его исправить?
Большое спасибо!
Редактировать: Мое первоначальное убеждение состояло в том, что сама структура была источником ошибки, но реальность состояла в том, что это было объявление массива, следующее сразу после объявления структуры.
const int NMAX=35;
.
.
.
struct type{
int x,y;
int mat[2][NMAX][NMAX];
}arr[NMAX*NMAX];
Проверка ограничений оператора задачи позволил мне уменьшить размер массива, и это решило проблему. Спасибо всем за помощь!