Arbeit mit Pointern
-
ser1al schrieb:
das ist c, und nicht c++
Falsch, es ist C, und es ist C++.
-
Ich war eben schon so verzweifelt dass ich kurz davor stand , dass ganze array global zu machen, um mir die parameterübergabe zu ersparen, aber ich wollts doch gern ordentlich machen und auf globale variablen verzichten

-
Dann passt eine Referenz doch ganz gut...
-
ok ich werds mit der referenz versuchen
-
ok nächste problem, habe jetzt das ganze programm komplett auf ANSI C umgestellt, nun bemängelt der compiler aber die referenz & und quittiert das mit
... main.c syntax error before '&' token
gibts in ANSI C keine referenzen?
PS: sry 4 AnsiC frage, wollte nich extra nen neuen thread machen...
-
Nein, die sind eine neue Erfindung in C++ (in C mußt du Pointer verwenden und von Hand dereferenzieren).
-
diese funktion
void ModifyNeuron(Tneuron& kohonen) { ...[/quote]
müsste dann so aussehen?
void ModifyNeuron(Tneuron* kohonen) { ...[/quote]
oder nicht?
ich bin da im moment etwas ratlos, weil ich eigentlich bisher noch nicht das vergnügen mit ANSI C hatte...
-
Richtig.
-
ok, ich hab jetzt bei allen zugriffe auf das element die alte variante
kohonen.winsentfernt und durch
kohonen->winsersetzt, weil mir sonst der compiler die hucke voll gehauen hätte

nun krieg ich aber nen problem mit dem aufruf der funktion
ModifyNeuron(kohonen[0]);der lautet folgendermaßen:
main.c incompatible type for argument 1 of `ModifyNeuron'
ich vermute er sucht hier nach mehreren objekten und bekommt von mir natürlich nur eines....
-
Nein, für die Übergabe als Pointer mußt du die Adresse des Ziels weitergeben:
ModifyNeuron(&kohonen[0]); //oder ModifiyNeuron(kohonen);
-
ahja ok danke euch, jetzt funzt es
