Prob mit Klassentemplates
-
Hallo habe ein Problem mit Klassentemplates, wenn ich sie in einer Headerdatei deklariere und dann in der cpp Datei Konstruktor usw. definieren möchte.
`T1' was not declared in this scope
das bekomm ich immer als Fehlermeldung.
Das hab ich in der .h Datei stehen
template<class T1, int length> class tClass { private: T1 tObject[length]; public: tClass(); ~tClass(); };
Das in der .cpp Datei
tClass<T1, int length>::tClass(){} tClass<T1, int length>::~tClass(){}
Warum klappt das nicht??
Thx
-
Weil die implementierung in den header gehört. Sollte dein compiler "export" unterstützen ist das was anderes.
-
Versteh ich das richtig, daß du die .cpp Datei mit der implemenentation des templates kompilieren willst?
-
bei templates ist das so eine eigenart, dass die definition in den header gehört
-
prolog schrieb:
Sollte dein compiler "export" unterstützen ist das was anderes.
Unterstützt GCC "export"? Wenn ja, wie benutzt man diesen Befehl?
Danke!
-
Nein!
-
kein befehl schrieb:
Nein!
Heißt das nun, dass es kein Befehl ist oder dass GCC das nicht unterstützt oder was ganz anderes?
Danke!
-
Es ist ein Schlüsselwort und der g++ Compiler kann das nicht.
-
Nach dem was ich so gehört habe wird er es in naher Zukunft auch nicht unterstützen. Nur Comeau kann export soweit ich weiß.