我想实现类模板的声明跟定义分类,即分别放在h头文件,cpp文件里
下面是我工程里的三个文件:
a.h头文件:
#ifndef INDIRECTLIST_H_
#define INDIRECTLIST_H_
template<class T>
class a{
public:
a(int MaxListSize = 10);
private:
MaxSize;
};
#endif
a.cpp文件:
#include "a.h"
template<class T>
a<T>::a(int MaxListSize)
{
MaxSize = MaxListSize;
}
main文件:
#include <iostream>
#include "a.h"
using namespace std;
int main()
{
a<int> l(20);
return 0;
}
编译通过了,可是build的时候出现了错误提示:
main.obj : error LNK2001: unresolved external symbol "public: __thiscall a<int>::a<int>(int)" (??0?$a@H@@QAE@H@Z)
Debug/a.exe : fatal error LNK1120: 1 unresolved externals
在网上查了一下,发生这种错误有两种可能: