Templates
-
Hallo,
ich habe ein File aufgabe_3.cpp, das meine main() enthält:
#include "aufgabe_3_2.cpp" ... int main(int argv, char* argc[]) { ... return 0; ... }
und ein File aufgabe_3.h, das eine Template- Klasse enthält:
template<class T, class T2> class Graph { ... public: void insVertex(Vertex<T>* vertex) { } ... }
Die Methode insVertex soll jetzt in einem File aufgabe_3_2.cpp erst implementiert sein. Dieses File sieht ugf. so aus:
#include "aufgabe_3.h" ... template <class T, class T2> void Graph<T, T2>::insVertex(Vertex<T>* vertex) { ... }
Da kommt dann aber immer der Fehler "template function has already been defined". Was muss ich da machen?
Danke schon mal,
Marco
-
void insVertex(Vertex<T>* vertex) { }
mach das mal zu einer reinen Deklaration , dh, anstatt den geschweiften Klammern ein ;
-
Eigentlich gehört die Definition der Funktion *nur* in den Header, es sei denn, du verwendest export und einen exotischen Compiler.