Aktywne Wpisy

wojtek-polki +1305
Czyli mężczyzna który:
-ma ciągłość zatrudnienia
-nie był na L4 w ciąży
-nie był na macierzyńskim
-nie pobiera świadczeń na dziecko (800+ itp)
-nie korzysta z opieki nad chorym dzieckiem
-ma ciągłość zatrudnienia
-nie był na L4 w ciąży
-nie był na macierzyńskim
-nie pobiera świadczeń na dziecko (800+ itp)
-nie korzysta z opieki nad chorym dzieckiem
źródło: temp_file1429150910024872164
Pobierz
Bill_Kilgore +931
źródło: 1000059447
Pobierz




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
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