Hello again!
Ich habe folgendes Problem:
Ich habe mir eine Klasse geschrieben, die Template-Funktionen enthält - sprich, es wird nicht festgelegt welche Typen übergeben werden müssen, um die Klasse flexibel zu gestalten
.
Allerdings erhalte ich bei Aufruf dieser Funktionen im Programm eine Fehlermeldung:
Betroffen sind dabei wirklich nur die Template-Funktionen, da vorher aufgerufene Memberfunktionen nicht bemängelt werden. Habe die Funktionen wie folgt deklariert:
und später so definiert:
Ich habe bisher nicht wirklich mit Templates gearbeitet, daher denke ich mal ich habe irgendwas in der Definition vermurkst - vielleicht kann mich ja jemand in der Hinsicht aufklären.
Bin für jeden Tipp dankbar,
Gruß
Ich habe folgendes Problem:
Ich habe mir eine Klasse geschrieben, die Template-Funktionen enthält - sprich, es wird nicht festgelegt welche Typen übergeben werden müssen, um die Klasse flexibel zu gestalten
![Wink ;) ;)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f609.png)
Allerdings erhalte ich bei Aufruf dieser Funktionen im Programm eine Fehlermeldung:
Code:
[Linker error] undefined reference to `bool DATABASE::addentry<Entry>(Entry*, char*)'
Betroffen sind dabei wirklich nur die Template-Funktionen, da vorher aufgerufene Memberfunktionen nicht bemängelt werden. Habe die Funktionen wie folgt deklariert:
C++:
template<class T>bool search(T* object, char*search);
template<class T>bool addentry(T* object,char*name);
und später so definiert:
C++:
template<class T>bool DATABASE::search(T* object, char*search)
{
//................
}
template<class T>bool DATABASE::addentry(T* object,char*name)
{
//.................
}
Ich habe bisher nicht wirklich mit Templates gearbeitet, daher denke ich mal ich habe irgendwas in der Definition vermurkst - vielleicht kann mich ja jemand in der Hinsicht aufklären.
Bin für jeden Tipp dankbar,
Gruß