Probleme mit map



  • Vorab möchte ich sagen, dass ich noch ein Anfänger in C++ bin.

    Ich habe ein Problem mit der map function, also nehmen wir an ich habe:

    Ausschnitt aus der Headerdatei:

    private:
        std::map<int, Typ *> *pMap;
    

    Ausschnitt aus cpp datei:

    pMap[index] = NULL;
    

    Dann bekomme ich folgende Fehlermeldung:

    error C2679: binary '=' : no operator found which takes a right-hand operand of type 'int' (or there is no acceptable conversion)
    

    Die map, mit einer Läner von 64, stellt ein Schachbrett dar. Die Felder, welche eine Figur enthalten sollen einen Pointer auf diese besitzen und die Felder die keine Figur besitzen sollen NULL sein.

    Ich weis aber nicht wie das machen soll.

    Danke schonmal.



  • Das Problem liegt wohl daran, dass du nur einen Pointer auf eine map hast.
    Entweder du machst sowas wie

    (*pMap)[index] = NULL;
    

    oder du machst aus dem map-Pointer eine normale map.

    Und dann siehst du gleich die Nachteile der ungarischen Notation 😃



  • Tausend Dank für die schnelle Antwort, der Fehler ist weg. Jetzt geht dafür zwar etwas anderes nicht mehr aber mal schauen.


Anmelden zum Antworten