warning C4190:有指定的 C 链接,但返回了与 C 不兼容的 UDT
返回一个自定义义结构,出现的警告
- C/C++ code
// C4190.cpp// compile with: /W1 /LDstruct X{ int i; X (); virtual ~X ();};extern "C" X func (); // C4190我返回的原始结构体是这样的:
- C/C++ code
class ConnectAddrInfo{public: ConnectAddrInfo() { nSrcIp = 0; nSrcPort = 0; nDstIp = 0; nDstPort = 0; } unsigned int nSrcIp; unsigned short nSrcPort; unsigned int nDstIp; unsigned short nDstPort;};调用时是这样的:
- C/C++ code
ConnectAddrInfo NetObject::GetConnectAddrInfo(){ return ConnectAddrInfo();}求解决方案!
[解决办法]
你的例子没有虚函数, 但是有构造函数. 去掉构造函数看看吧.