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

[C++]Problem z odwoływaniem się do zmiennej w std::vector

Ostatnio zmodyfikowano 2012-07-26 13:31
Autor Wiadomość
szymski
Temat założony przez niniejszego użytkownika
[C++]Problem z odwoływaniem się do zmiennej w std::vector
» 2012-07-26 12:46:33
Witam! Mam problem z vectorem w którym jest obiekt który ma zmienną x. Ten obiekt dziedziczy po innej klasie. Chcę zmienić tą zmienną ale nie wiem jak. Próbowałem użyć entitylist[0].x = 0; ale nie dalo sie tego zrobic. entitylist to kontener na klasę entity. Po niej dziedziczy obiekt którego chcę zmienić zmienną x. Próbowałem też użyć entitylist[0]->x =0; i też nic nie dało. Co mogę zrobić? Pomóżcie.
P-61145
pekfos
» 2012-07-26 12:47:40
Słabo to opisałeś. Podaj kod.
P-61146
mostrom
» 2012-07-26 12:59:48
Jeśli x jest polem prywatnym klasy, to nie wyjdzie przypisywanie. Może wirtualna funkcja która przypisuje x?
P-61147
szymski
Temat założony przez niniejszego użytkownika
» 2012-07-26 13:02:56
Dodaje do vectora obiekt o nazwie test, który dziedziczy po klasie entity. Chcę zmienić zmienną typu float od obiektu  test poprzez vector pisząc tak: entitylist[0].x = 0;, ale wyskakuje to:
request for member 'x' in 'entitylist.std::vector<_Tp, _Alloc>::operator[] [with _Tp = entity*, _Alloc = std::allocator<entity*>, std::vector<_Tp, _Alloc>::reference = entity*&, std::vector<_Tp, _Alloc>::size_type = unsigned int](0u)', which is of non-class type 'entity*'|
P-61148
pekfos
» 2012-07-26 13:13:49
Podaj kod klas.
Jak juz to tak:
v[ y ]->x = a;
, ale jak sam napisałeś, nie działa.
Czyli o problemie nic nie wiemy.
P-61149
szymski
Temat założony przez niniejszego użytkownika
» 2012-07-26 13:22:11
Definicja vectora: vector <entity*> entitylist; Dodanie obiektu do vectora: entitylist.push_back(new test);
Kod klas zbyt długi więc podam tylko początek.
klasa entity:
class entity
{
    public:
entity();
int x;
klasa test:

class test : public entity
{
    public:
    test();
    int x;
P-61150
pekfos
» 2012-07-26 13:24:39
Hmm, a jaki błąd był przy
entitylist[ 0 ]->x = 0;
?
P-61151
szymski
Temat założony przez niniejszego użytkownika
» 2012-07-26 13:26:11
Ten sam co podałem wyżej
P-61152
« 1 » 2
  Strona 1 z 2 Następna strona