Ich schlag mich grade mit der template Klassen Unterst
(uups, da ist beim abschicken etwas verloren gegangen) Ich schlag mich grade mit der template Klassen Unterstützung im GCC herum. Bei folgendem stark vereinfachtem Beispiel: template<int nix> class ZZ { public: static int A; }; ZZ<4711> g_ZZ; int ZZ<4711>::A=3; //<----: error: too few template-parameter-lists gibts beim initialisieren des static members obige Fehlermeldung. Auch ein Verstecken der template Klasse hinter einem typedef hilft nicht: typedef ZZ<4712> TZZ; TZZ g_TZZ; int TZZ::A=4; //<----: error: too few template-parameter-lists Seltsam ist auch der Plural in der Fehlermeldung. In VC++ (z.B.) kompiliert das ganze fehlerfrei, wie es auch sein soll. Hat jemand eine Idee? Natürlich kann man auch dieses Problem programiertechnisch umgehen, aber bei dem wenigen was ich bezüglich templates in GCC ausprobiert habe gabs überaschend viele Hakeleien. Wie ist da eure Erfahrung?
> In VC++ (z.B.) kompiliert das ganze fehlerfrei, wie es auch sein soll. Eigentlich soll es nicht, weil die Syntax falsch ist. > Hat jemand eine Idee? template<> int ZZ<4711>::A=3;
Da schau her... Ich benutze obige Schreibweise seit den Anfangstagen der Templaterei und mir ist nie Aufgefallen das dies nicht ganz Konform ist (bei der Klassen Instanziierung: ZZ<4711> g_ZZ; erlaubt GCC es ja auch ohne template<> Vorsatz). Danke
Bei Instaziierungen ist das schon erlaubt, aber bei Spezialisierungen nicht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.