Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zmienne same zmieniają wartość?

Ostatnio zmodyfikowano 2013-09-10 20:16
Autor Wiadomość
czosnek17
Temat założony przez niniejszego użytkownika
Zmienne same zmieniają wartość?
» 2013-09-10 19:58:42
Następny dziwny problem...

Cały ten kod pochodzi z main.cpp.
C/C++
void w_enemy( enemy * pow )
{
    cout << "w_enemy\n";
    int x, y, kier, typ;
   
    ifstream plik;
    plik.open( "enemy.txt" );
   
    if( !plik.good() )
         return;
   
    while( true )
    {
        plik >> x >> y >> kier >> typ;
       
        if( plik.good() )
        {
            cout << "petla\n";
            cout << " " << x << " " << y << " " << kier << " " << typ << endl;
            //pow->spr.setPosition(x*skaf, y*skaf);
            //pow->kierunek = kier;
            //pow->typ = typ;
            pow->przyp( x, y, kier, typ );
            cout << "kierunek =  " << pow->kierunek << endl;
        }
        else
        {
            plik.close();
            return;
        }
    }
   
}

/////

int lpotwr = 10;
enemy * potwor;
potwor = new enemy[ 10 ];

w_enemy( potwor );
cout << "-----------\n";
for( int i = 0; i != 9; i++ )
{
    cout << potwor[ i ].kierunek << endl;
}
cout << "-----------\n";
Sleep( 10000 );

W konsoli dostaję takie coś:

w_enemy
petla
 3 2 3 3
kierunek =  3
petla
 3 4 2 1
kierunek =  2
petla
 2 2 1 3
kierunek =  1
petla
 1 3 2 2
kierunek =  2
petla
 6 6 1 3
kierunek =  1
petla
 8 2 2 3
kierunek =  2
petla
 5 5 3 3
kierunek =  3 //tu widać, że zmienne kierunek mają prawidłową wartość
-----------
3
-1
-1
-1
-1
-1
-1
-1
-1//a tu już nie, pomiędzy tymi miejscami w kodzie nie modyfikuję tych zmiennych
-----------

Jak definiuję tablicę w zwykły sposób, do wtedy jest 0. Próbowałem rebuild i nic.
Wtf?
P-91864
DejaVu
» 2013-09-10 20:04:10
Ten kod w żadnym przypadku nie będzie poprawny, ponieważ wszystko odczytujesz z pliku do pierwszego elementu tablicy.
P-91866
czosnek17
Temat założony przez niniejszego użytkownika
» 2013-09-10 20:16:31
Jak wracam ze szkoły to nie myślę... Dzięki.
P-91867
« 1 »
  Strona 1 z 1