Template klassen



  • Hi

    Wenn ich eine template Klasse so in einer Headerdatei deklariere:

    template<class T>
    

    Und dann die Funktionen deklariere, sie aber in einer cpp-Datei ungefähr so definiere:

    template<class T>
    Klasse<T>::Function() {
    }
    

    Dann beschwehrt sich der Linkier: "unresolved external ...".
    Mit Definitionen in der Headerdatei funktionierts.

    Danke für alle Tips!



  • Deklaration und Definition von Templateklassen/-funktionen müssen in eine einzige Datei geschrieben werden. Also nur z.B. in die Headerdatei. Zweite Möglichkeit wäre die Verwendung des Schlüsselwortes 'export', welcher nur von wenigen Compilern unterstützt wird.


Anmelden zum Antworten