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 |