Erreur du compilateur C2914
'identifier' : impossible de déduire l’argument de type en tant qu’argument de fonction est ambigu
Le compilateur ne peut pas déterminer les fonctions surchargées à utiliser pour un argument générique ou modèle.
L’exemple suivant génère l’erreur C2914 :
// C2914.cpp
// compile with: /c
void f(int);
void f(double);
template<class T> void g(void (*) (T));
void h() { g(f); } // C2914
// try the following line instead
// void h() { g<int>(f); }
C2914 peut également se produire lors de l’utilisation de génériques. L’exemple suivant génère l’erreur C2914 :
// C2914b.cpp
// compile with: /clr /c
void f(int);
void f(double);
template<class T>
void gf(void (*) (T));
void h() { gf(f);} // C2914
// try the following line instead
void h() { gf<int>(f); }