我真的很困惑如何将枚举类型传递给函数在c + +。 我使用谷歌搜索和测试所提供的所有溶剂,但他们没有解决我的问题。 在SocketInfo.h, 我有一个名为SocketType枚举,全球声明:通过枚举函数在c + +
typedef enum SocketTypeEnum
{
SOCKET_TYPE_IPSEC
} SocketType;
在SocketInfo.hi
有一个名为SocketInfo类:在SocketInfo.cpp
class SocketInfo
{
public:
SocketInfo(const char* ip,unsigned short fd,SocketType stype);
}
:
SocketInfo::SocketInfo(const char* ip, unsigned short fd,SocketType stype)
{
//some work done here
}
我建立这个类没有任何错误
现在测试这个类我创建application.in的_tmain我写这篇文章的代码
#include "SocketInfo.h"
void Test_Socket()
{
SocketInfo* si = new SocketInfo(NULL,5060,SOCKET_TYPE_IPSEC);
}
int _tmain(int argc, _TCHAR* argv[])
{
Test_Socket();
getch();
return 0;
}
上面的代码运行后,我得到了这些错误的一个Win32控制台:
错误4错误LNK2019:无法解析的外部符号“ public:__thiscall函数“void __cdecl Test_Socket(void)”(?Test_Socket @@ YAXXZ)中引用的SocketInfo :: SocketInfo(char const *,unsigned short,enum SocketTypeEnum)“(?? 0SocketInfo @@ QAE @ PBDGW4SocketTypeEnum @@@ Z) )
错误5错误LNK1120:1个未解决的外部问题
我该如何解决这些错误。
所有代码在visual studio 2010 Ultimate上编译。
谢谢陆,,问题解决了。 – 2012-04-02 13:11:07