wieder mal template



  • Hallo,

    Ich versuche den folgenden Code zu kompillieren:

    template<typename T>
    class A
    {
    public:
       class B
       {
          T v;
       };
    };
    
    template<typename T>
    class C
    {
       A<T>::B b;
    };
    

    Dabei erhalte ich den (für mich unsinnigen) Fehler: expected ';' before "b"
    Hat jemand eine Ahnung, was ich falsch mache?


  • Mod

    typename A<T>::B b;
    

    Wird Zeit, das mal ins Sticky oder die FAQ aufzunehmen.



  • Danke - ist zwar für mich nicht ganz nachvollziehbar, funktioniert aber.



  • camper schrieb:

    typename A<T>::B b;
    

    Wird Zeit, das mal ins Sticky oder die FAQ aufzunehmen.

    Da gebe ich dir recht, allerdings:

    überforderter schrieb:

    Danke - ist zwar für mich nicht ganz nachvollziehbar, funktioniert aber.

    Hier ist das Problem. Ein FAQ-Eintrag müsste dann schon mal etwas detailiierte auf die Problematik eingehen. Mindestens den Unterschied zwischen abhängigen und nicht-abhängigen Namen erklären und am Besten so, dass es a) verständlich und b) nicht vollständig auf "gefährlichem Halbwissen" basiert (b traue ich mir zu, a) habe ich schon lange aufgegeben). Wenn sich jemand die Mühe macht, stell ich das Ergebnis liebend gerne in die FAQ.


Anmelden zum Antworten