Ich habe den folgenden C++-Code:
typedef int* IntPtr;
const int* cip = new int;
const IntPtr ctip4 = cip;
Ich kompiliere dies mit Visual Studio 2008 und erhalte den folgenden Fehler:
Fehler C2440: 'initializing' : kann nicht von 'const int *' nach 'const IntPtr' konvertieren
Offensichtlich ist mein Verständnis von Typedefs nicht das, was es sein sollte.
Der Grund, warum ich frage, ich speichere einen Zeigertyp in einer STL-Map. Ich habe eine Funktion, die eine Konstante Zeiger zurückgibt, die ich verwenden möchte, um in der Karte zu suchen (mit map::find(const key_type&). Da
const MyType*
et
const map<MyType*, somedata>::key_type
nicht kompatibel ist, habe ich Probleme.
Mit freundlichen Grüßen Dirk