在A.h:
namespace ns {
template <typename T>
class A {
public:
static void test();
}
}
在A.cpp中:
#include "A.h"
using ns::A;
template <typename T>
void A<T>::test() {
// Do something
}
在main.cpp中:
#include "A.h"
using ns::A;
int main() {
A<int>::test();
return 0;
}
编译器说:
main.cpp :(。text + 0x5):未定义引用`ns :: A&lt; \ int&gt; :: test()&#39;
collect2:错误:ld返回1退出状态