Partilhar via


Aviso do compilador (nível 1) C4190

'identifier1' foi especificado com ligação C, mas retorna um UDT 'identifier2' que é incompatível com C.

Observações

Uma função ou ponteiro para função tem um UDT (tipo definido pelo usuário, que é uma classe, estrutura, enum ou união) como tipo de retorno e extern "C" vinculação. Isto é legal se:

  • Todas as chamadas para esta função ocorrem a partir de C++.

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

Example

O exemplo a seguir gera C4190:

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

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