为什么连接时错的?

xiaoxiami002 2011-02-28 11:45:18
#pragma once
template<class t>
class AAA
{
public:
void f();
};
------------------------------
#include "AAA.h"

template<class t> void AAA<t>::f()
{

}
------------------------------------
#include "AAA.h"

void main()
{
AAA<int> a;
a.f();
}
---------------------------
error LNK2001: unresolved external symbol "public: void __thiscall AAA<int>::f(void)" (?f@?$AAA@H@@QAEXXZ)
Debug/AAA.exe : fatal error LNK1120: 1 unresolved externals
...全文
78 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
管哥的天下 2011-03-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lanxue_1988 的回复:]
C++不支持分离编译...
[/Quote]

是的,这个看你的编译器,跟你的编译器有关~
碎碎念 2011-03-01
  • 打赏
  • 举报
回复
C++不支持分离编译...
pengzhixi 2011-03-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xiaoxiami002 的回复:]
谢谢各位 我懂了,
还有还想问下:
C++编译器不支持模板的分离编译,但还有种编译是包含式编译,
但是不是包含式编译只适合单个的函数,而不适合整个类?
[/Quote]
包含编译?在头文件里面#Include cpp文件?如果是这样和cpp里面的内容全写入头文件没区别。
xiaoxiami002 2011-03-01
  • 打赏
  • 举报
回复
谢谢各位 我懂了,
还有还想问下:
C++编译器不支持模板的分离编译,但还有种编译是包含式编译,
但是不是包含式编译只适合单个的函数,而不适合整个类?
pengzhixi 2011-02-28
  • 打赏
  • 举报
回复
google刘未鹏的“为什么C++编译器不支持模板的分离编译”
healer_kx 2011-02-28
  • 打赏
  • 举报
回复
模板的实现部分,都放到.h文件中,不要放到.cpp文件里面。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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