static-Member in Templateklassen
-
Ich kämpfe mit folgendem Problem:
(vereinfacht)template <class T> class Foo { public: static int bar; }; void main () { cout<<Foo<int>::bar<<endl; }
Wie zu erwarten, spuckt der Compiler aus:
error LNK2001: Nichtaufgeloestes externes Symbol "public: static int Foo<int>::bar" (?bar@?$Foo@H@@2HA)
Gibt es irgendeine Möglichkeit, static-Member in Templateklassen zu verwenden, außer sich dämlich zu schreiben mit
int Foo<int>::bar = 0; int Foo<float>::bar = 0;
-
template<typename T> int Foo<T>::bar;
schonmal probiert?