Erreur du compilateur C2768
'function' : utilisation illégale d’arguments de modèle explicites
Notes
Le compilateur n’a pas pu déterminer si une définition de fonction était une spécialisation explicite d’un modèle de fonction ou s’il s’agissait d’une nouvelle fonction.
Cette erreur a été introduite dans Visual Studio .NET 2003, dans le cadre des améliorations de conformité du compilateur.
Exemple
L’exemple suivant génère l’erreur C2768 :
// C2768.cpp
template<typename T>
void f(T) {}
void f<int>(int) {} // C2768
// an explicit specialization
template<>
void f<int>(int) {}
// global non-template function overload
void f(int) {}