map iterator problem



  • Guten Tag!

    Ich habe ein Problem mit der Iteration einer map des folgend definierten Typs:

    typedef std::map<const AnsiString, const AnsiString> TClients;
    

    Nachdem ich einen solchen Container gefüllt habe möchte ich diesen durchgehen, aber der Typ meines Iterators stimmt nicht mit dem des Containers überein, laut der hilfe sollte aber mit dem folgenden Code gehen:

    const TClients Clients = GetClients();
     for (TClients::iterator pos = Clients.begin(); pos != Clients.end(); pos++ ) {
        Form_Main->CreateMandantenItem(pos->first);
    }
    

    folgender Fehler für "TClients::iterator pos = Clients.begin()" tritt auf:

    Konvertierung von '_STL::_Rb_tree_iterator<TClientsValuetype,_STL::_Const_traits<TClientsValuetype> >' nach '_STL::_Rb_tree_iterator<TClientsValuetype,_STL::_Nonconst_traits<TClientsValuetype> >' nicht möglich

    Ich hoff mir kann jemand helfen... danke!



  • Dein Clients-Objekt ist const, also mußt Du auch einen const_iterator benutzen.

    MfG Jester



  • Vielen Dank! Hat mir sehr geholfen...


Anmelden zum Antworten