2011-11-06 5 views
0

좋아, 지금 막 Conway의 Game of Life로 끝날 수있는 일부 코드에 대한 기능을 끝내고 있지만 예기치 않은 오류가 발생합니다. http://tinypaste.com/244cf522생명의 게임 코드를위한 C++ 디버깅

오류이다 : 여기서

코드이다

error: name lookup of 'q' changed for ISO 'for' scoping

error: expected initializer before 'while'

+0

하지, 난 여전히하지만 첫 번째 오류에 문제가 세미콜론을 잊어 버렸습니다. – user1032729

+0

나는 루프 내부에서 사용할 수없는 변수를 for 루프 안에 초기화한다면 새로운 규칙이 있다고 생각한다. 우물, 좀 더 디버그해야 겠지. – user1032729

답변

3

q의 범위가 선언 된 for 루프 제한된다; for 루프의 초기화 부분에서 선언 된 모든 변수는이 방법으로 처리됩니다.

for 루프 범위가 사라진 후에도 q 범위를 변경해야합니다. 이렇게하려면 그래서 모든 일

int q; 
for(q=1; var2 == "Yes" && Seeds != Seeds; q++){ 
처럼 보일 것 for 이상에 for에에서

int q; 

를 이동하고

for (int q = ... 

for (q = ... 

변경

또는

int q = 1; 
for(; var2 == "Yes" && Seeds != Seeds; q++){ 

는 또한이 과정이 새로운 규칙 : 이니셜 오류를 수정했습니다

+1

이상한, 고마워! 나는 단지 while 루프를 만들었지 만, 이제는 이것이 다시 일어난다면 어떻게 될지 알고 있습니다. 감사합니다! – user1032729