Note: x was declared here
Ostatnio zmodyfikowano 2013-11-03 18:52
czosnek17 Temat założony przez niniejszego użytkownika |
Note: x was declared here » 2013-11-02 23:21:28 Błąd pokazuje przy linijce hero * gracz1; (gracz1 was declared here) hero * gracz1;
while() { if() { delete gracz1; } if() { gracz1 = new hero( "h2.png", "gracz1" ); } }
Dlaczego jest taki błąd i co on właściwe oznacza? Jakby co to nigdy nie usuwam gracz1 przed jego skonstruowaniem. |
|
den93 |
» 2013-11-02 23:46:52 Kod wygląda na poprawny, może podaj go więcej. |
|
DejaVu |
» 2013-11-03 01:28:09 Wklej również pełną treść błędu, bo jeszcze nigdy nie widziałem, aby kompilator pisał 'Note'. |
|
m4tx |
» 2013-11-03 10:14:30 Krótko: deklarujesz 2 razy gdzieś tę samą zmienną. Możliwe też, że trzymasz ją gdzieś w pliku nagłówkowym i to powoduje problemy. |
|
Mrovqa |
» 2013-11-03 12:20:36 @DejaVu jeżeli się nie mylę, to jest to komunikat GCC/G++, a ty zapewne głównie korzystasz z MSVC. |
|
czosnek17 Temat założony przez niniejszego użytkownika |
» 2013-11-03 15:52:24 Tak GCC. Na pewno nie deklaruję 2 razy tej zmiennej. I jeszcze dziwna sprawa: włączyłem C::B, skompilowałem projekt i błędu nie było. Zakomentowałem linijkę z operatorem new, skompilowałem, odkomentowałem i znowu jest błąd... Pełna treść błędu: C:\Documents and Settings\aaa\Pulpit\projekt sfml\bomber2\main.cpp|324|note: 'gracz1' was declared here| Jeżeli usunę linijkę z tworzeniem/usuwaniem obiektu to błąd nie występuje. Zostawiłem linie związane z hero *gracz1. Niektóre fragmenty kodu mogą wyglądać dziwnie. bool nowa_gra = 1; hero * gracz1;
while() { if( sf::Keyboard::isKeyPressed( sf::Keyboard::F1 ) ) { delete gracz1; nowa_gra = true; } if( nowa_gra ) { gracz1 = new hero( "h2.png", "gracz1" ); nowa_gra = false; } gracz1->abuty(); gracz1->gpos(); if( gracz1->kolizja( mapa ) ) { gracz1->spr.setPosition( gracz1->ostpozycja ); } else { gracz1->ostpozycja = gracz1->spr.getPosition(); } gracz1->sterowanie( mapa, 1 ); okno.draw( gracz1->lewybb ); okno.draw( gracz1->prawybb ); okno.draw( gracz1->spr ); gracz1->interf.rysuj( okno ); }
|
|
pekfos |
» 2013-11-03 16:05:44 To nie jest pełna treść błędu. |
|
czosnek17 Temat założony przez niniejszego użytkownika |
» 2013-11-03 16:34:12 Chodzi o to? In file included from C:\Documents and Settings\aaa\Pulpit\projekt sfml\bomber2\hero.hpp:5:0, from C:\Documents and Settings\aaa\Pulpit\projekt sfml\bomber2\main.cpp:11: C:\Documents and Settings\aaa\Pulpit\projekt sfml\bomber2\ggui.hpp:6:7: warning: 'gracz2' may be used uninitialized in this function [-Wmaybe-uninitialized] C:\Documents and Settings\aaa\Pulpit\projekt sfml\bomber2\main.cpp:325:7: note: 'gracz2' was declared here In file included from C:\Documents and Settings\aaa\Pulpit\projekt sfml\bomber2\hero.hpp:5:0, from C:\Documents and Settings\aaa\Pulpit\projekt sfml\bomber2\main.cpp:11: C:\Documents and Settings\aaa\Pulpit\projekt sfml\bomber2\ggui.hpp:6:7: warning: 'gracz1' may be used uninitialized in this function [-Wmaybe-uninitialized] C:\Documents and Settings\aaa\Pulpit\projekt sfml\bomber2\main.cpp:324:7: note: 'gracz1' was declared here
|
|
« 1 » 2 |