Erben einer Typdeklaration bei Vorhandensein von Vorlagen
Gibt es eine Möglichkeit, Typen in einer Basisklassenvorlage zu deklarieren und diese Definitionen in der untergeordneten Klassenvorlage wiederzuverwenden?
Betrachten Sie zum Beispiel den folgenden Versuch:
template <typename T_>
struct A {
using T=T_;
};
template <typename T_>
struct B: public A<T_> {
T a;
};
Der Compiler beschwert sich, dass mit dem TypT
in der Definition vonB
ist illegal. Es wird nicht auf die Instanziierung gewartet, um festzustellen, ob dieser Typ von A geerbt wurde. Gibt es also eine Möglichkeit, Typen in einer Basisklassenvorlage zu deklarieren und diese Definitionen in der untergeordneten Klassenvorlage erneut zu verwenden?