Aktywne Wpisy
MokrySuchar +94
Jest jakiś chętny reprezentant tagu #famemma wystąpić na Bitej Śmietance?
Oferujemy mysteryboxa i koszulkę (+koszty transportu).
Oferujemy mysteryboxa i koszulkę (+koszty transportu).
pkostowski +907
Czy informowanie o legalnym proteście przeciwko złym decyzjom rządu jest złamaniem regulaminu Wykopu? Kolejny raz została usunięta informacja o tym. Władza się zmienia, ale zwyczaje administracji zostają...
Niezmiennie zapraszam 6 maja od 17:00 na pl. Trzech Krzyży przed Ministerstwo Rozwoju.
#kredyt0procent #koalicjadeweloperska #warszawa #nieruchomosci
Niezmiennie zapraszam 6 maja od 17:00 na pl. Trzech Krzyży przed Ministerstwo Rozwoju.
#kredyt0procent #koalicjadeweloperska #warszawa #nieruchomosci
Aktywne Znaleziska
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
Mam pytanie, mam dwie klasy:
class Entity
{
string name;
int alive;
int attack;
float defence;
int hp;
public:
void fight(Entity & e);
.
.
.
};
i
class Army
{
vector entities;
string name;
public:
void fight(Army &);
.
.
};
Chcę aby odpowiadające sobie jednostki obu armii się ścierały.
void Army::fight(Army & a)
{
vector ::iterator it;
for(it = a.entities.begin(); it != a.entities.end(); it++)
{
(*this).entities.Entity::fight(*it);
}
}
wyskakuje mi błąd 'Entity' is not a base of 'std::vector'. Posłuży ktoś pomocą?
(*this).entities.Entity::fight(*it);
*this - czyli obiekt klasy army (OK)
.entities - czyli wektor typu Entity, będący polem klasy Army (OK)
.Entity - wektor nie ma takiej metody (NIE OK)
Tutaj pierwsza entity w wektorze walczy z każdą entity z
a
this->entities[0].fight(*it)
Komentarz usunięty przez autora
[Error] 'class std::vector' has no member named 'fight'
jednak nie, już wszystko działa, dzięki za pomoc ;)
https://ideone.com/XKjiOA