关于MFC是否支持模板的问题

ddgfei 2005-04-26 04:15:26
小弟这几天在封装一个网络通信的类。
我使用的是API函数,已经完成。
我想把它转换成用模版的形式,出现了以下的问题
error LNK2001: unresolved external symbol "public: virtual __thiscall UdpClass<class T>::~UdpClass<class T>(void)" (??1?$UdpClass@VT@@@@UAE@XZ)
请问MFC是否不支持模板类?
...全文
131 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gorge_an 2005-04-27
  • 打赏
  • 举报
回复
写在头文件里!
ddgfei 2005-04-27
  • 打赏
  • 举报
回复
template <class T> UdpClass<T>::UdpClass()
{
m_hSocket = NULL;
m_hEvent = NULL;
m_hThread = NULL;
m_hKillEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
m_hThread = NULL;

InitializeCriticalSection(&m_cs);
InitializeCriticalSection(&m_criticalSection);
memset(&ReceiverAddr,0,sizeof(ReceiverAddr));
}

template <class T>UdpClass<T>::~UdpClass()
{
stop();
WSACloseEvent(m_hEvent);
CloseHandle(m_hThread);
CloseHandle(m_hKillEvent);
closesocket(m_hSocket);
WSACleanup();
}

上述是我的构造函数和析构函数
ddgfei 2005-04-27
  • 打赏
  • 举报
回复
我的构造函数和析构函数没有问题。我的代码在其他的编译器中可以实现。
我是否要加入其他的编译选项?如果不能用模版,我就只能用类继承的方法
实现strategy模式。有没有其他的更好的方法实现strategy模式。我不想使用
template模式,这个项目中它不适合。
ddgfei 2005-04-27
  • 打赏
  • 举报
回复
有其他的方法吗?我做的是商业软件。代码写头文件里是不符合要求的
oyljerry 2005-04-26
  • 打赏
  • 举报
回复
模板支持的,不过有时可能支持不够好
李马 2005-04-26
  • 打赏
  • 举报
回复
MFC是支持模板的,是不是你的析构函数没有实现?

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧