首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

一个关于模板的有关问题

2012-01-11 
一个关于模板的问题我用多文件结构设计一个类(即分别把类声明和类定义防在.h和.cpp文件中),然后在main函数

一个关于模板的问题
我用多文件结构设计一个类(即分别把类声明和类定义防在.h和.cpp文件中),然后在
main函数中应用类,调用成员函数,编译没错,但链接出错.来位高手指点一下啊
代码如下:
///////////////.h文件
template <typename   T>
struct   Node
{
      .....
};
template <typename   T>
class   List
{
      .....
};
#endif
////////////////.cpp文件
#include   "List.h "
#include <iostream>
using   namespace   std;
template <typename   T>
List <T> ::List(){}
////////////////main.cpp
#include   "List.h "
#include <iostream>
using   namespace   std;
void   main()
{
List <int>   list;//调用无参构造函数
}
出错信息如下:
--------------------Configuration:   List   -   Win32   Debug--------------------
Compiling...
List.cpp
Skipping...   (no   relevant   changes   detected)
main.cpp
Linking...
main.obj   :   error   LNK2001:   unresolved   external   symbol   "public:   __thiscall   List <int> ::List <int> (void) "   (??0?$List@H@@QAE@XZ)
Debug/List.exe   :   fatal   error   LNK1120:   1   unresolved   externals
Error   executing   link.exe.
Creating   browse   info   file...

List.exe   -   2   error(s),   0   warning(s)


[解决办法]
设计模板一般把类函数的声明和定义(实现)都放到头文件中。
[解决办法]
楼上正解.
[解决办法]
现在的编译器不支持模版的接口实现分离编译...
除非支持export,...
还是写到头文件中吧~

热点排行