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 !


Log in to reply