ein namensproblem mit templates
-
hmm diese art von problem hatte ich noch nie:
also, ich habe eine klasse Foo:
template<class T,class U,template<class,class> V> class Foo{...}
nun soll diese Klasse so verwendet werden:
template<class T,class U> class Bar{ Foo<T,U,Bar> bar; };
wenn man das compiliert expandiert der compiler das zu:
Foo<T,U,Bar<T,T> > bar;
und meine schönen template template parameter sind futsch^^
gibts eine möglichkeit, das zu umgehen? irgendein keyword? ich hab zwar jetzt eine version ohne template template parameter geschrieben, aber ganz so schön finde ich das nicht...
-
template<class T,class U> class Bar{ Foo<T,U,Bar<T,U> > bar; };
Schon mal so versucht ?
Devil
-
dein code ist äquivalent zu:
template<class T,class U> class Bar{ Foo<T,U,Bar> bar; };
und da liegt das problem, weil ich die template parameter eben nicht schon gesetzt haben will.
//edit oops hab mich ja im startpost verschrieben, natürlich muss da:
Foo<T,U,Bar<T,U> > bar;
stehen...naja Uhrzeit^^
-
Hallo,
mach einen "qualified name" draus und es sollte funktionieren:template<class T,class U> class Bar{ Foo<T,U, ::Bar> bar; };