template Parameter forwarding
-
Hallo,
ich versuche mal das Problem zu skizzieren
template<typename T> struct Foo{ T foo; }; struct Bar : public Foo<Baz>{ // geht hier ein 'forward' zur inner class? struct Baz{} ; }
wie im Kommentar beschrieben,
ist es in diesm Fall irgenwdie möglich eine innere Klasse als Template Parameter zu verwenden?
-
Würde es reichen, die innere Klasse davorzuschreiben und nachträglich zu verinnerlichen?
struct BarBaz{ char test[17]; }; struct Bar : public Foo<BarBaz>{ // geht hier ein 'forward' zur inner class? using Baz=BarBaz; };
-
wenn es anders nicht geht werde ich es wohl so machen müssen,
oder die Implementierung vom Template einfach redundant haben.von außen sind die Inneren Klassen nicht zu erzeugen und die meisten Methoden werden auch nicht von außerhalb benutzt
daher würde ich es 'schöner' finden wenn sie innen sindwenn das nicht geht habe ich aber kein Problem sie nach außen zu legen
wobei es mich schon interessieren würde wie das mit dem 'incomplete type' ist, wann kann ich so etwas verwenden, und wann nicht
struct Bar : public Foo<class Foo> ..
geht ja nicht, wann würde es gehn?