在SO上遇到这两个链接器错误后,我再次遇到这些问题。但是,这次来源似乎在另一个点上。带模板功能的LNK2019和LNK1120
编译器错误显示它找不到具有签名""public: unsigned int __thiscall MyClass::myFunction<unsigned int>(int)const "
的功能。
但是,将myClass.cpp
的内容移动到main.cpp
的作品。不知道为什么(的myClass.cpp
所有其他内容不存在这个问题。(其它功能都没有模板)。
myClass.h
#ifndef X
#define X
class MyClass {
public:
template<class T>
T myFunction (int someArgument) const;
};
#endif
myClass.cpp
#include "myClass.h"
template<class T>
T MyClass::myFunction (int someArgument) const {
return T();
}
main.cpp
#include "myClass.h"
int main() {
MyClass a();
a.myFunction<unsigned int>(42);
return 0;
}
我该怎么做fi x这个问题?