阅读了许多关于在类上设置模板的链接后,我遇到了这个令人困惑的编译器错误:
Linking...
main.obj : error LNK2019: unresolved external symbol "public: __thiscall test<int,int>::test<int,int>(int)" (??0?$test@HH@@QAE@H@Z) referenced in function _main
fatal error LNK1120: 1 unresolved externals
尽可能简单的违规代码是:
测试.h
template<typename U, typename V>
class test {
public:
test(int number);
};
测试.cpp
#include "test.h"
template<typename T, typename U>
test<T, U>::test(int number){}
主文件
#include "test.h"
void main() {
test<int, int> a = test<int, int>(4);
}
显然前面的代码没有任何用处,我只是在构建一个模板模型来启动一个项目。谁能解释一下我对构建此解决方案以达到拥有可以正确构建自身的模板类的目的不了解的地方?