Hi,
ich habe ein kleines Problem. Ich komme irgendwie nie damit klar, wenn ich ein etwas komplizierteres Konstrukt an eine Funktion übergeben will, mit dieser Funktion aber das zu übergebene Objekt ändern will.
Mal eine kurze Erklärung:
Ich benutze die Bibliothek SDL, welche einen Typ beinhaltet, der SDL_Rect heißt (http://sdldoc.csn.ul.ie/sdlrect.php)
Diesem Typ kann ich Werte zuweisen zB:
ship_rect.x = 400;
ship_rect.y = 570;
ship_rect.w = ship->w;
ship_rect.h = ship->h;
Da ich aber in nächster Zeit sehr viele Zuweisungen dieser Art haben werden, wollte ich diese Zuweisungen in eine Funktion packen:
Mein Prototyp würde so aussehen:
void set_startposition(SDL_Rect *object_rect, int x, int y, int width, int height);
Die Funktion beinhaltet dann so etwas (wurde auch ohne * probiert):
*object_rect.x = x;
*object_rect.y = y;
*object_rect.w = width;
*object_rect.h = height;
Übergeben würde ich die (obere) Datei so:
set_startposition(&ship_rect, 400, 570, ship->w, ship->h);
Das Problem ist nun, dass GCC (3.3.5) mit den folgenden Fehlermeldungen anfängt zu meckern:
error: request a member 'x' in something not a structure or union
error: request a member 'y' in something not a structure or union
usw.
Wie kann ich die Werte in "ship_rect" aus der Funktion heraus nun ändern? Darum geht es mir.
Markus.
--
sh:( fo:| ch:? rl:( br:> n4:( ie:{ mo:) va:) de:] zu:) fl:( ss:| ls:] js:|