Предупреждение компилятора (уровень 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