Я пытаюсь переслать объявление класса, который является производным от класса шаблона, который также должен быть объявлен вперед.Как переслать объявление класса, полученного из базового класса с прямым объявлением шаблона?
Вот пример из классов:
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', чтобы сказать что-то не имеет пространства имен, не то же самое, что просто skpping' namespace', поэтому компилятор говорил мне, что это неоднозначно. – Solx