Błąd ze wskaźnikami

0

Nie mogę sobie poradzić z pewnym błędem. Jakby ktoś mógłby mi pomóc!!!

...
if(act.map[i]->GetKind()==1){
...

Do tego kodu występuje błąd:
[C++ Error] Map.cpp(31): E2288 Pointer to structure required on left side of -> or ->*

Konstruktor CAction:

CAction::CAction(){
units[0]= new CUnit(0,1,1);
map[units[0]->GetPos()] = &units[0];
}

Fragment klasy CAction:

...
CUnit* units[20];
CUnit** map[272];
...

No i funkcja GetKind():

int CUnit::GetKind(){
return kind;
}

Z góry dziękuje!!!

0

Ta tez mam jeszcze klopoty z poprawnym rozumowaniem w przypadku konstrukcji typu "wskaznik do wskaznika", a takim jest wlasnie Twoje "map". Wydaje mi sie, ze musisz odwolac sie do tego obiektu jak do dwuwymiarowej tablicy czyli:

if(act.map[i][j]->GetKind()==1){...}

tyle ze obiekt map moze wymagac nieco innej inicjacji

0

zreszta odszukaj mojego posta sprzed kilku dni, mialem nieco inny problem, ale przy okazji Dryobates przedstawil swoja ciekawa metode inicjiowania takich zmiennych. mysle ze warto sie temu przyjrzec

1 użytkowników online, w tym zalogowanych: 0, gości: 1