Seite 1 von 1
Template-Funktionen / Methoden von Template-Klassen
Verfasst: Mi Jan 16, 2013 10:45 pm
von Glocke
Hi, so wie ich das mitbekommen habe, meckert g++, wenn ich Template-Funktionen oder Methoden von Template-Klassen in der Header-Datei deklariere und in der Quellcode-Datei implementiere. Implementiere ich sie direkt in der Header-Datei, klappt das linken richtig.
Ist das so "normal"? Habe ich irgendwelche Möglichkeiten bei Templates die Deklaration und Implementierung zu trennen, wie es bei sonstigen Funktionen der Fall ist?
LG Glocke
Re: Template-Funktionen / Methoden von Template-Klassen
Verfasst: Do Jan 17, 2013 12:00 am
von Xin
Glocke hat geschrieben:Hi, so wie ich das mitbekommen habe, meckert g++, wenn ich Template-Funktionen oder Methoden von Template-Klassen in der Header-Datei deklariere und in der Quellcode-Datei implementiere. Implementiere ich sie direkt in der Header-Datei, klappt das linken richtig.
Ist das so "normal"? Habe ich irgendwelche Möglichkeiten bei Templates die Deklaration und Implementierung zu trennen, wie es bei sonstigen Funktionen der Fall ist?
Ein Template kann man nicht implementieren, darum kann man es auch nicht in .cpp-Dateien packen.
Ein Template ist ein Muster, wie etwas implementiert werden könnte: Du gibst Datentypen an, entsprechend werden Funktionen nach diesem Muster erstellt.
Was Du in die .cpp-Datei packen kannst sind eindeutige Spezialisierungen, da diese eben nicht mehr von Datentypen abhängig sind.