Funktionen
-
Kann mir jemand sagen wie ich bei EINER in einen Header ausgelagerten Funktion mehrere Werte per return zurückgebe ( für die ausgabe in einem cpp-programm ) ??????
Danke
-
return kann nur einen Wert zurück geben. Schau dir bitte Parameterübergabe by-Reference an, dann kannst du die übergebenen Werte verändern und bei Austritt der Funktion hat der Aufrufer der Funktion die geänderten Werte.
void foo(int &x, int &y) { x = 1; y = 1; } void bla() { int x = 0; int y = 0; foo(x,y); }
-
Danke
Das Problem ist aber, dass zwei verschiedene Berechnungen in einer in einen Header ausgelagerten Funktion durchgeführt und deren Ergebnisse durch aufrufen dieser einen Funktion ausgegeben werden sollen.
-
wenn's unbedingt als 'return' sein muss:
#include <cstdio> struct mehrere_werte { int a; char b; float c; }; mehrere_werte f() { mehrere_werte x = {1, '2', 3.456}; return x; } int main() { mehrere_werte x = f(); printf ("%d, %c, %f", x.a, x.b, x.c); }
-
Oder du nimmst boost::tuple: http://www.boost.org/libs/tuple/doc/tuple_users_guide.html