Поделиться через


Предупреждение компилятора (уровень 1) C4190

"identifier1" имеет указанную компоновку C, но возвращает идентификатор UDT2, несовместимый с C

Функция или указатель на функцию имеет определяемый пользователем тип (определяемый пользователем тип, который является классом, структурой, перечислением или объединением) в качестве типа возврата и extern "C" компоновки. Это законно, если:

  • Все вызовы этой функции происходят из C++.

  • Определение функции находится в C++.

Пример

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

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