0
는이 같은 클래스와 공유 라이브러리를 쓴 :공유 라이브러리
// 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()'
lib.h 및 client.cpp에있는 내용은 정확히 * 무엇입니까? 당신이 제시 한 코드는 그 하나의 특정한 오류를주지 않을 것입니다. –
실제 상황을 단순화 한 버전입니다. 그러나 문제는 지금 해결되었습니다. 여기에 게시 된 코드는 * 올바른 * – GuLearn