1
앞으로 선언해야하는 템플릿 클래스에서 파생 된 클래스를 전달하려고합니다.앞으로 선언 된 템플릿 기본 클래스에서 파생 된 클래스를 전달하려면 어떻게합니까?
다음class TType {
public:
TType() { }
};
template<typename T>
class Base {
public:
Base() { }
};
class Derived : public Base<TType> {
public:
Derived() { }
};
내가 필요에 실패 추측 : 여기
은 클래스의 예입니다class TType;
template<typename T> class Base;
class Derived : public Base<TType>; // This fails
Derived* pDerived;
당신은 당연히 맞습니다. 그러나 그것을 시도했을 때 실패했습니다. 여기에 실수가 있습니다. 앞으로 선언문에서'namespace {class Derived}; 그리고'class Derived;'를했습니다. 분명히 뭔가 네임 스페이스가 없다는 것을 말하기 위해'namespace'를 사용하는 것은'namespace'를 그냥 건너 뛰는 것과 같지 않습니다. 그래서 컴파일러가 모호하다고 말했습니다. – Solx