[C++, vector] problem z funkcją push_back
Ostatnio zmodyfikowano 2013-08-26 18:49
megatron Temat założony przez niniejszego użytkownika |
[C++, vector] problem z funkcją push_back » 2013-08-26 18:36:38 Witam serdecznie. Nigdy wcześniej nie miałem doczynienia z tą biblioteką, a problem polega na tym, że funkcja nie dodaje nowego obiektu do tablicy tylko nadpisuje pierwszy. w skrócie kod wygląda następująco: class Postac { std::string aNazwa; int aZycie; public: void utworzPostac(); Postac( std::string nazwa, int zycie ); vector( Postac ) postacie; };
Postac::Postac( std::string nazwa, int zycie ) : aNazwa( nazwa ) , aZycie( zycie ) { }
void Postac::utworzPostac() { postacie.push_back( Postac( aNazwa, aZycie ) ); }
int main() { Postac a = Postac( "nazwa", 100 ); a.utworzPostac(); } normalnie to mam rospisane to na kilka plików i jest o wiele więcej zmiennych. Z góry dziękuję za pomoc. #@#EDIT#@#Oki udało mi się... wystarczyło zmienić vector( Postac ) postacie; na static vector( Postac ) postacie; |
|
Wasilek |
» 2013-08-26 18:49:19 Nie jestem pewien, ale chyba nie powinieneś tworzyć w klasie postać obiektów klasy postać :P Sam tak nigdy nie robiłem więc nie wiem czy to jest źródłem problemu. |
|
« 1 » |