Einfaches "Stehaufdemschlach"-Zeigerproblem
-
ich weiß jetzt nciht ob du das nur weggelassen hast sonst wäre ein operator=() nicht schlecht, ansonsten, was passiert denn statt dessen?
-
@salomon: soll das eine funktionsdefinition sein oder meinste ich soll das ganze so aufrufen
susb_getNextCommand ( &inputCoLaCommandQueue, &inputCoLaCommand );
Falls es eine neue Definition ist:
BOOL susb_getNextCommand( struct sCoLaCommandQueue* cQueue, struct sCoLaCommand& CoLaCommand )
dann bekomme ich folgenden Fehler:
parse error before '&' token
@balmung: deine aussgae versteh ich leider nicht
-
Ne das muss schon die Funktionsdefinition sein.
Ein "&" kennzeichnet, dass es sich bei dem übergebenen Wert um eine Referenz handelt. Aber ich kann den Error, den dein Compiler da ausspuckt, nicht nachvollziehen. Versuch mal das "struct" vor dem Typ wegzulassen.
-
@salomon: habe das struct weggelassen, aber immer noch die gleiche fehlermeldung erhalten. was ist denn der unterschied zw. dem & vor dem struct und dem * ? hatte eigentlich gedacht, dass der stern das so macht.
-
Also:
Bei einem "*" handelt es sich um einen Zeiger, d.h du musst den -> operator für das Objekt verwenden. Bei einem "&" handelt es sich um eine Referenz, du musst aber bei Objekten den . operator verwenden.
Eine Referenz ist nur ein Name, der sich auf das Objekt bezieht, d.h. änderst du etwas an der Referenz, änderst du auch das Objekt, auf das sich die Referenz bezieht. (Ich denke, dass ist, was du willst, oder?)
Bei einem Zeiger ist das ebenfalls so, nur, dass der Zeiger die Adresse des Objekts speichert.
-
@_markus_:
Aber das ist schon ein C++ Programm oder (und nicht etwa ANSI-C)?
-
ups, das ist mir jetzt aber peinlich, eigentlich war ich mir sicher im ansi C forum gepostet zu haben *rotwerd*
natürlich ist es ansi c *duck*
-
kann mir jemand den post verschieben oder soll ich im ansi c teil nochmal posten?
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hier gehts weiter: http://www.c-plusplus.net/forum/viewtopic-var-t-is-165163.html