Ahoj,
dělám hru a vyskytuje se mi prapodivný bug na konci každého framu. Mám zde tři loopy:
for(i=0; i<4; i++){
rock[i].show(camera);
}
for(i=0; i<SHOT_MAX; i++){
shot[i].show(camera);
}
for(i=0; i<director.numberOfPlayers(); i++){
hrac[i].show(camera);
}
První dva se chovají jak mají, ale ten třetí, i když by měl dělat dva průchody, tak udělá jen jeden. Pokud si v posledním loopu deklaruji proměnnou novou lokálně jen pro daný loop, vše funguje. Pokud si vytvořím lokálně novou proměnnou v předposledním loopu, Visual Studio 2010 na mě vyhodí celou sadu hnusných warningů a program se stejně nechová jak by měl:
1>main.cpp(150): warning C4258: 'i' : definition from the for loop is ignored; the definition from the enclosing scope is used
1> main.cpp(146) : definition of 'i' ignored
1> c:\documents and settings\XXX\plocha\tinywars2\tinywars2\game/variables.h(37) : definition of 'i' used
1>main.cpp(150): warning C4258: 'i' : definition from the for loop is ignored; the definition from the enclosing scope is used
1> main.cpp(146) : definition of 'i' ignored
1> c:\documents and settings\XXX\plocha\tinywars2\tinywars2\game/variables.h(37) : definition of 'i' used
1>main.cpp(150): warning C4258: 'i' : definition from the for loop is ignored; the definition from the enclosing scope is used
1> main.cpp(146) : definition of 'i' ignored
1> c:\documents and settings\XXX\plocha\tinywars2\tinywars2\game/variables.h(37) : definition of 'i' used
1>main.cpp(151): warning C4258: 'i' : definition from the for loop is ignored; the definition from the enclosing scope is used
1> main.cpp(146) : definition of 'i' ignored
1> c:\documents and settings\XXX\plocha\tinywars2\tinywars2\game/variables.h(37) : definition of 'i' used
1>main.cpp(152): warning C4258: 'i' : definition from the for loop is ignored; the definition from the enclosing scope is used
1> main.cpp(146) : definition of 'i' ignored
1> c:\documents and settings\XXX\plocha\tinywars2\tinywars2\game/variables.h(37) : definition of 'i' used
Absolutně nechápu co se děje, může někdo poradit? Díky za pomoc