lenrokskate |
» 2010-06-08 16:16:49 po pierwsze to zapomniałeś średnika ; za klamotem kończącym blok klasy. Pokaż resztę kodu.
// to jest on |
|
kizia Temat założony przez niniejszego użytkownika |
» 2010-06-08 17:20:44 Ale który fragment kodu ? Bo spory jest. EDIT : Cała klasa : class uzytkownik { int id; static int licznik; public: char login[ 11 ], pass[ 11 ]; int x, y; char nick[ 10 ]; int exp, maxexp, hp, mp, gold, lvl, maxhp, maxmp, alldef, allatk, atkhp, speed; int staty[ 5 ], miasto; item bp[ 12 ]; item eq[ 6 ]; char getlog( int zkz ) { return login[ zkz ]; }; char getpass( int zkz ) { return pass[ zkz ]; }; uzytkownik(); ~uzytkownik(); void setup_player( char * name, char * haslo, char * logg ) { strcpy( nick, name ); strcpy( pass, haslo ); strcpy( login, logg ); } void akt(); void sprst(); };
|
|
malan |
» 2010-06-08 20:56:30 item bp[12] ;
item ? Cóż to za typ? :) Coś mi się zdaję, że to miało być tak: item_bp[12]; /edit Hm..., chyba za dużo tych średników tam porobiłeś: int staty[ 5 ], miasto; item bp[ 12 ]; item eq[ 6 ];
staty oraz miasto są typu int, ale bp oraz eq typu... item ;p. |
|
kizia Temat założony przez niniejszego użytkownika |
» 2010-06-08 22:43:20 Ale item to typ zdefiniowany przeze mnie EDIT : class item { int cenak, cenas; int atak, def; int typ; char nazwa[ 8 ]; public: item( char * nick, int ob, int si, int ckup, int csprzed, int typek ); item(); int getitem( int zm757 ) { if( zm757 == 1 ) return cenak; else if( zm757 == 2 ) return cenas; else if( zm757 == 3 ) return atak; else if( zm757 == 4 ) return def; else if( zm757 == 5 ) return typ; } char * getnazwa() { return nazwa; } };
|
|
malan |
» 2010-06-09 16:51:45 Aha, ok :). Zapewne zapomniałeś dodać pliku z klasą do projektu/pliku, w którym znajduje się klasa użytkownik. Pamiętaj też, że klasa item powinna znajdować się przed klasą uzytkownik. |
|
kizia Temat założony przez niniejszego użytkownika |
» 2010-06-09 18:16:18 Każdy plik jest dodany tak jak być powinien, ponieważ jak miałem item * bp[ 12 ] To żadnego błędu nie było i wszystko działało a jak zmieniłem na : item bp[ 12 ] To już nie działa. Wszystkie klasy są zadeklarowane : class uzytkownik; class item; class monster; |
|
Elaine |
» 2010-06-09 18:52:07 Jak chcesz trzymać wartość, to kompilator musi widzieć pełną definicję klasy, nie wystarczy jej zapowiedzieć. |
|
kizia Temat założony przez niniejszego użytkownika |
» 2010-06-09 20:53:24 Noo dobra dzięki chyba działa. A co gdybym miał w tych dwóch klasach obiekty tych klas np :[ w item uzytkownik uzyt, a w uzytkownik item it]? Tylko jedna z tych klas może poprzedzać drugą. ;p (tak na przyszłość chcę wiedzieć) |
|
1 2 3 « 4 » 5 |