_
toggle menu eXmatrikulationsamt.de
online: 369 gäste

> C++ Funktion mit 2 Rückgabewerten?

Themen Layout: Standard · Linear · [Outline] Thema abonnieren | Thema versenden | Thema drucken
post 15 Apr 2008, 18:15
avatar
4. Schein
****

Punkte: 470
seit: 01.10.2003

Hallo Leute,

wie kann ich es realisieren, dass ich bei einer Funktion 2 Rückgabewerte returnen kann?
mit arrays geht sni so einfach und ich will es einfach... mag keine kanonen auf spatzen werfen, oder
wie das heißt...

wenn ich es so mache:
CODE

int* do_something(int* N, int k){
  N[0]=k;
  N[1]=k+1;
  return N;
  }
int main(void){
  int test[2], N[2];
  int k = 1;
  N[0]=0;
  N[1]=1;
  test = do_something(N,k);
  }


meckert der rum:

main.cpp:280: error: incompatible types in assignment of ‘int*’ to ‘int [2]’

was kann ich machen, damit das klappt???

danke m.



ProfilPM
AntwortenZitierenTOP
 
Antworten
post 15 Apr 2008, 18:20
avatar
Straight Esh
*********

Punkte: 14030
seit: 01.10.2003

Eine Funktion kann keine zwei Rückgabewerte haben, sondern immer nur einen. Wie sollte man denn
sonst eine Zuweisung der Rückgabewerte auf Variablen durchführen können?

Wenn du partou zwei Werte brauchst, kannst du auch Pointer im Funktionsaufruf übergeben, dann
modifizierst du die Variablen im globalen Kontext und nicht im lokalen Kontext.

Dein Funktionsaufruf sollte auch den Array berücksichtigen, also
CODE

int* do_something(int N[], int k)


--------------------


bonum agere et bonum edere,
sol delectans et matrona delectans

(Verlängere dein Leben indem du hier und hier und hier und hier klickst!)
ProfilPM
AntwortenZitierenTOP
Beiträge
marco   C++ Funktion mit 2 Rückgabewerten?   15 Apr 2008, 18:15
mmarx   std::pair<int, int>.   15 Apr 2008, 19:23
wicked   RE: C++ Funktion mit 2 Rückgabewerten?   15 Apr 2008, 22:23
wicked   argh? :D   15 Apr 2008, 22:43
aktsizr   :thumbup2:   16 Apr 2008, 12:51
1 Nutzer liest/lesen dieses Thema (1 Gäste)
0 Mitglieder: