Programmieren - alles kontrollieren 4.942 Themen, 20.719 Beiträge

Funktionen mit Rückgabe in der Parameterliste in C++

Dreamforger / 2 Antworten / Baumansicht Nickles

So jetzt ist es mal an mir ne dumme frage zu stellen:
ich will folgenden record

struct my_struct {
int size_of_ptr;
int *ptr;
...
...
}

an eine Funktion übergeben.

mystruct instance;
myfunction (...,instance, ...);

Innerhalb dieser Funktion soll dann sowohl die größe( size_of_ptr) als auch das array( *ptr) belegt werden.

fseek(f, 0, SEEK_END);
in.size_of_ptr = ftell(f);
fseek(f,0,SEEK_SET);
in.data = (int *) malloc(in.size_of_ptr);
fread(&in.data, in.size, 1, f);

Danach soll der Inhalt von "instance" der aufrufenden Funktion mit "in" der aufgerufenen Funktion identisch sein.

Habe ich grundlegende Fehler im Gedanken? oder warum bekomme ich keine funktionierende Syntax hin?
Bisher hat meine Funktion folgende Signatur:

void myfunction(...,mystruct in, ....);

WAS muss ich ändern damit das Ding endlich compiled?

danke
Dreamforger

bei Antwort benachrichtigen
thomas woelfer Dreamforger „Funktionen mit Rückgabe in der Parameterliste in C++“
Optionen

du must hier einen call by reference und keinen call by value machen: m.a.w: du must einen zeiger auf 'instance' uebergeben, ansonsten bekommt die aufgerufene funktion eine kopie der daten in der struktur in der aufrufenden funkion.

myfunction( &instance);

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen
Dreamforger thomas woelfer „du must hier einen call by reference und keinen call by value machen: m.a.w: du...“
Optionen

Nicht nur das, ich hab auch noch einen ganzen stapel anderer Bugs rausgehaun.
Danke
bei Antwort benachrichtigen