Vitalis
Erfahrenes Mitglied
Hallo zusammen!
Ich muß mich zur Zeit mit objektorientierter Programmierung unter C++ rumschlagen. Es geht um die Realisierung einer verketteten Liste mit Hilfe von Klassen. Unten im Codestück sind zwei Klassen und eine Methode der Klasse Liste, die außerhalb definiert wurde, enthalten. Aus verschiedenen Gründen muß ich Templates verwenden, was aber nicht ganz klappen will.
Denn an der Stelle "template<class Typ> friend class Liste;" in der Klasse Knoten bekomm ich diese Fehlermeldung:
error C2059: Syntaxfehler : '<end Parse>'
Ich kann mir das nicht erklären, denn die Syntax müßte doch stimmen..
Hängt das vielleicht damit zusammen, daß wir Visual C++ benutzen und es nach einer leicht anderen Syntax verlangt? Ich würde mich über Hilfe sehr freuen.
Vitalis
Hier ein kleiner Ausschnitt des Quellcodes:
Ich muß mich zur Zeit mit objektorientierter Programmierung unter C++ rumschlagen. Es geht um die Realisierung einer verketteten Liste mit Hilfe von Klassen. Unten im Codestück sind zwei Klassen und eine Methode der Klasse Liste, die außerhalb definiert wurde, enthalten. Aus verschiedenen Gründen muß ich Templates verwenden, was aber nicht ganz klappen will.
Denn an der Stelle "template<class Typ> friend class Liste;" in der Klasse Knoten bekomm ich diese Fehlermeldung:
error C2059: Syntaxfehler : '<end Parse>'
Ich kann mir das nicht erklären, denn die Syntax müßte doch stimmen..
Hängt das vielleicht damit zusammen, daß wir Visual C++ benutzen und es nach einer leicht anderen Syntax verlangt? Ich würde mich über Hilfe sehr freuen.

Vitalis
Hier ein kleiner Ausschnitt des Quellcodes:
Code:
//*** Klasse Knoten **************************************
template<class Typ> class Knoten {
public:
Knoten(){
next=NULL;
position=NULL;
}
template<class Typ> friend class Liste;
protected:
Knoten<Typ> *next;
Typ *position;
};
//*** Klasse Liste ***************************************
template<class Typ> class Liste {
public:
Liste(){
head=NULL;
}
void Einfuegen(Typ *neu);
void Anzeigen();
Typ* Suchen(char *signaturptr);
protected:
Knoten<Typ> *head;
};
//*** Methode von Klasse Liste: Medium Einfügen ***********
template<class Typ> void Liste<Typ>::Einfuegen(Typ *neu){
Knoten<Typ> *neuerKnoten;
if (head==NULL){
head=new Knoten<Typ>;
head->position=neu;
}else{
neuerKnoten=head;
while (neuerKnoten->next!=NULL){
neuerKnoten=neuerKnoten->next;
}
neuerKnoten->next=new Knoten<Typ>;
neuerKnoten=neuerKnoten->next;
neuerKnoten->position=neu;
}
}
Zuletzt bearbeitet: