Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [c++ stl]map

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++ stl]map

    ciao.
    Non riesco a capire perchè se faccio:
    codice:
    map<string, CBaseEntityIfc> Map;
        CIfcOwnerHistory* getRefOwnerHistory()
        {
            Map[m_strId];
        }
    tutto funziona correttamente , mentre
    codice:
    map<string, CBaseEntityIfc>* pMap;
        CIfcOwnerHistory* getRefOwnerHistory()
        {
            pMap[m_strId];
        }
    dove pMap è un puntatore mi da errore sull'operatore [m_strId], perchè?
    Grazie.

  2. #2
    Perché l'overloading dell'operatore [] è effettuato sull'oggetto, non sul puntatore ad esso. Devi fare:
    codice:
            (*pMap)[m_strId];
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.