statische variable in template - wie initialisieren?



  • Hallo,

    ich habe eine template Klasse und habe dort eine statische variable
    static int a;

    jetzt muss ich ja die statische variable wenn ich in einer gewöhnlichen klasse arbeite mit

    int Class::a = 0;

    initialisieren.

    Bloß wie soll ich das in der template klasse machen?

    ein

    int Class<T>::a = 0; geht da ja nicht...

    Danke für Hilfe


  • Mod

    gast_xy schrieb:

    int Class<T>::a = 0; geht da ja nicht...

    Das ginge dann, wenn T an dieser Stelle ein bestimmter Typ wäre. Ansonsten

    template <typename T>
    int Class<T>::a = 0;
    

    Das darf auch im Header stehen - die ODR wird nicht verletzt, wenn diese Definition in verschiedenen Übersetzungseinheiten auftaucht.


Anmelden zum Antworten