C++ Methodenaufrufe von Templateklasse nicht möglich

Esteba

Lt. Junior Grade
Registriert
März 2013
Beiträge
279
Ich habe mich an der Implementierung einer Templateklasse versucht, um verschiedene Datenformate in einer Liste speichern zu können (Das ganze ist eine Übungsaufgabe). Eigentlich bilde ich mir ein, dass alles so ist, wie es gehört, aber eclipse meckert.

Hier das Header-File:
Code:
#ifndef MYLIST_H_
#define MYLIST_H_

#include <iostream>
#include <string>

using namespace std;

template <class T> class MyList {

	public:
		bool isEmpty();
		void shift(T newElement);
		void append(T newElement);
		void insertAtIndex(T newElement, int pos);
		void insertAlpha(T newElement);
		void printElements();

	private:
		T head;
		MyList<T> *tail = NULL;

};

#endif /* MYLIST_H_ */

Hier ein Auszug aus dem Implementierungsfile:
Code:
#include "MyList.h"

/* check if the list is empty */
template<class T>
bool MyList<T>::isEmpty() {
	//return (this->head.empty());
	return (this->head == NULL);
}

Es ist eigentlich auch egal, welche Methode ich als Beispiel anführe. Wenn ich IRGENDEINE Methode aufrufe, gibt eclipse eine Fehlerwarnung raus und will nicht mehr kompilieren:

Code:
MyList<wstring> newList;
newList.isEmpty();

Nicht definierter Verweis auf `MyList<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::isEmpty()'

Weder werde ich daraus schlau, noch konnte ich bei Google etwas hilfreiches finden. Möglicherweise irgendein dummer Anfängerfehler? (Ich habe mehr Erfahrung in Java.)
 
Das muss man natürlich auch erst mal wissen! Dankeschön.
 
Zurück
Oben