Partilhar via


Aviso do compilador (nível 1) C4190

'identifier1' tem C-linkage especificado, mas retorna UDT 'identifier2' que é incompatível com C

Uma função ou ponteiro para a função tem um UDT (tipo definido pelo usuário, que é uma classe, estrutura, enumeração ou união) como tipo de retorno e extern "C" vínculo. Isso será legal se:

  • Todas as chamadas para essa função ocorrem de C++.

  • A definição da função está em C++.

Exemplo

// C4190.cpp
// compile with: /W1 /LD
struct X
{
   int i;
   X ();
   virtual ~X ();
};

extern "C" X func ();   // C4190