J'ai le code C++ suivant:const TypedeffedIntPointer pas égal à const int *
typedef int* IntPtr;
const int* cip = new int;
const IntPtr ctip4 = cip;
compiler ce avec Visual Studio 2008 et obtenir l'erreur suivante:
error C2440: 'initializing' : cannot convert from 'const int *' to 'const IntPtr'
Il est clair que ma compréhension de typedefs n'est pas ce qui devrait être.
La raison pour laquelle je demande, je stocke un type de pointeur dans une carte STL. J'ai une fonction qui renvoie un pointeur const que je voudrais utiliser pour rechercher dans la carte (en utilisant la carte :: find (const key_type &). Depuis
const MyType*
et
const map<MyType*, somedata>::key_type
est incompatible , je vais avoir des problèmes.
Cordialement Dirk