Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

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

Dreamforger / 2 Antworten / Flachansicht 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