Compartilhar via


Erro do Compilador C2894

modelos não podem ser declarados com tendo vínculo 'C'

Observações

Esse erro pode ser causado por um modelo definido dentro de um bloco extern "C".

Exemplos

O exemplo a seguir gera C2894:

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

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

O exemplo a seguir gera 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