编译器警告(等级 1)C4190
“identifier1”指定了 C 链接,但返回 UDT“identifier2”,这与 C 不兼容
函数或指向函数的指针具有 UDT(用户定义的类型,它是类、结构、枚举或联合)作为返回类型和 extern "C"
链接。 如果具备以下条件,那么,这样是合法的:
所有对此函数的调用都来自 C++。
该函数的定义是采用 C++ 的。
示例
// C4190.cpp
// compile with: /W1 /LD
struct X
{
int i;
X ();
virtual ~X ();
};
extern "C" X func (); // C4190