verkettete Liste
-
Hallo,
ich habe in ein C Programm Funktionen für eine Verkettete List implementiert.
Die Funktionen sind in der *cpp Datei ausprogrammiert, in der *.h Datei
ist der Struct für die Liste definiert und die Funktionen bekanntgemacht.in der *h Datei steht zb
void InsertList(struct ProcInfo *& base,int index,char *name,int mem);Leider hat der compiler ( Visual C++ 6) ein Problem
error C2143: Syntaxfehler : Fehlendes ')' vor '&'
error C2143: Syntaxfehler : Fehlendes '{' vor '&'
error C2059: Syntaxfehler : '&'
error C2059: Syntaxfehler : ')'Alle vier Fehlermeldungen verweisen auf die oben angegebene Zeile.
ändere oich die Funktion ohne &
void InsertList(struct ProcInfo * base,int index,char *name,int mem);kommt die Fehlermeldung nicht mehr, allerdings macht die Funkiton dann auch nicht mehr was sie soll.
Vielen Dank
Chris
-
Was ist denn ein *& ?

Ich kenne nur & oder *. (Okay, ** usw auch noch...)
-
C kannte noch keine Referenzen (&), also mußt du da mit Doppel-Zeigern arbeiten, wenn du deine Parameter "per Referenz" übergeben und verarbeiten willst:
void InsertList(struct ProcInfo ** base,int index,char *name,int mem); //um auf die Daten der Liste zuzugreifen, mußt du base jeweils dereferenzieren
-
estartu schrieb:
Was ist denn ein *& ?

Ich kenne nur & oder *. (Okay, ** usw auch noch...)struct ProcInfo *&base; wäre dann eine Referenz auf einen Zeiger.
Im Endeffekt kommt es einem struct ProcInfo **base; nahe.
Erleichert aber den Syntax. Das Zeichen & für Referenz bindet direkt an die Variable.Man kann dadurch also einen Zeiger auf ProcInfo zurückgeben an base!
-
Ahja, okay dankeschön.

-
danke auch
