Templatespezialisierung in einer verschachtelten Klasse
-
Hallo,
ich habe folgende Klasse:
template <typename T1, typename... Ts> class Outer { class Inner { template <size_t N> struct Spec; }; };Spec will ich jetzt außerhalb der Klasse definieren und für N=0 spezialisieren:
template <size_t N, typename T1, typename... Ts> struct Outer<T1, Ts...>::Inner::Spec { void bar() { Spec<N-1>::bar(); } }; template <typename T1, typename... Ts> struct Outer<T1, Ts...>::Inner::Spec<0> { void bar() {} };Allerdings bekomme ich seltsame Fehler beim compilieren, die ich nicht durch Google gefunden habe:
invalid class name in declaration of 'class Outera<T1, Ts...>::Inner::Spec' (Zeile 2, 2. Codeblock) too few template parameter lists new type may not be defined in a return type (Zeile 11, 2. Codeblock)Kompiliert hab ich mit g++ 4.5.3, -std=c++0x flag
Für Hinweise bin ich sehr dankbar
