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;
你当然是对的,但是当我尝试并且失败时。这是我的错误,在forward声明中,我做了'namespace {class Derived};'然后'class Derived;'。显然,使用'namespace'来说某事没有命名空间不同于只是跳过'namespace',所以编译器告诉我这是不明确的。 – Solx 2012-04-05 16:34:26