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

[C++, vector] problem z funkcją push_back

Ostatnio zmodyfikowano 2013-08-26 18:49
Autor Wiadomość
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:

C/C++
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;
 
P-90975
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.
P-90977
« 1 »
  Strona 1 z 1