std::map iterator Problem
-
std::map<int,Class*> * map; std::map<int,Class*>::iterator it; map = myFunction->getMap(); for (it = map->begin(); it != map->end(); it++) { int x = it->second->myMemberFunction(); //geht net :-/ } Wie greife ich auf die Member Function von der Klasse zu auf den der iterator gerade zeigt ?
-
Aehm sicher das dein element gueltig ist ?
mach mal :Class * pPointer = (*it).second; if(pPointer) { int x = pPointer->myMemberFunction(); //geht net :-/ }
und schau mal was genau fuern fehler er bringt .... (schon beim compilieren oder erst beim laufen ? )
Ciao ...
-
super danke ! jetzt gehts !
habs jetzt so :std::map<int,Class*> * map; std::map<int,Class*>::iterator it; Class * pPointer; map = myFunction->getMap(); for (it = map->begin(); it != map->end(); it++) { pPointer = (*it).second; int x = pPointer->myMemberFunction(); //geht net :-/ }
vorher hatte ichs so und vielleicht war nur ne klammer schuld oder so kA :
SetDlgItemText(h_dlg,IDC_STATIC9,conv.numberToString(it -> second ->myMemberFunction()).c_str());
Vielen Dank !