Partager via


Erreur du compilateur C2894

les modèles ne peuvent pas être déclarés comme ayant une liaison 'C'

Cette erreur peut être due à un modèle défini à l’intérieur d’un extern "C" bloc.

L’exemple suivant génère l’erreur C2894 :

// C2894.cpp
extern "C" {
   template<class T> class stack {};   // C2894 fail

   template<class T> void f(const T &aT) {}   // C2894
}

L’exemple suivant génère l’erreur C2894 :

// C2894b.cpp
// compile with: /c
extern "C" template<class T> void f(const T &aT) {}   // C2894

template<class T> void f2(const T &aT) {}   // OK