我用这样的类写了一个共享库:
// lib.h
class LibClass {
template<typename T>
static void foo () {
T *tmp = new T();
tmp->bar();
}
};
我在其他地方使用了 lib 并定义了类:
//client.cpp
class C {
public:
void bar() { cout<<"bar"<<endl; }
};
int main () {
LibClass::foo<C>();
return 0;
}
我得到了错误undefined reference to 'C::bar()'