#c #debugging
#c #отладка
Вопрос:
Хорошо, я только что закончил создавать функцию для некоторого кода, который я создаю, который в конечном итоге станет Game of Life Конвея, но я получаю несколько неожиданных ошибок.
Вот код:http://tinypaste.com/244cf522
Ошибки являются:
ошибка: поиск имени ‘q’ изменен для ISO ‘на’ scoping
ошибка: ожидаемый инициализатор перед ‘while’
Комментарии:
1. Исправлена ошибка инициализатора, я забыл точку с запятой, хотя все еще возникают проблемы с первой ошибкой.
2. Я предполагаю, что есть новые правила о том, что если вы инициализируете переменную внутри цикла for, вы не можете использовать ее вне цикла, тьфу, думаю, мне нужно еще немного отладить.
Ответ №1:
Область действия q
ограничена for
циклом, в котором она была объявлена; любые переменные, которые объявлены в части инициализации for
цикла, обрабатываются таким образом.
Вам нужно изменить область действия q
, чтобы она сохранялась даже после того, как область действия for
цикла исчезла. Для этого просто переместите
int q;
от в for
до выше for
и изменить
for (int q = ...
Для
for (q = ...
Таким образом, все это будет выглядеть как
int q;
for(q=1; var2 == "Yes" amp;amp; Seeds != Seeds; q ){
или
int q = 1;
for(; var2 == "Yes" amp;amp; Seeds != Seeds; q ){
Кроме того, это не новое правило 🙂
Комментарии:
1. Странно, спасибо! В итоге я просто создал цикл while, но теперь я знаю, что делать, если это произойдет снова, спасибо!