Ich habe gerade angefangen mich mit C++ zu beschäftigen und habe eine
vermutlich einfache Frage.
Ich habe zwei verschiedene Funktionen, in etwa so (fiktives Beispiel):
1
voidFunktion1()
2
{
3
...
4
intweite=irgerndwas1;
5
intbreite=irgendwas2;
6
inttiefe=irgendwas3;
7
...
8
}
Diese 3 Variablen möchte ich jetzt in einer Funktion2() wiederverwenden
ohne die Zuweisung erneut machen zu müßen. Weite, breite und tiefe
sollen also auch in Funktion2() verwendet werden können und gültig sein.
Wäre es nur eine Variable könnte ich dies natürlcih mit einem
Rückgabewert realisieren. So bin ich mir noch unsicher.
Hängt natürlich davon ab wie die Funktion1 und 2 aufgerufen werden
sollen. Wenn funktion1 und funktion2 aus der main heraus aufgerufen
werden aber nur in Funktion1 verändert werden sollen, in funktion2 aber
nur verarbeitet dann macht man es z.B. so
Danke für die schnellen Antworten.
@ Rene
Ich will ja dass der Funktion2 genau die Werte weite, breite und tiefe
aus Funktion1 übergeben werden. Vermutlich wieder blöde Frage, aber wie
rufe ich dann Funktion2 auf?
EInfach:
Anfänger++ schrieb:> Danke für die schnellen Antworten.>> @ Rene>> Ich will ja dass der Funktion2 genau die Werte weite, breite und tiefe> aus Funktion1 übergeben werden. Vermutlich wieder blöde Frage, aber wie> rufe ich dann Funktion2 auf?>> EInfach:> void Funktion1()> {> ...> int weite = irgerndwas1;> int breite = irgendwas2;> int tiefe = irgendwas3;> ...> }>> void Funktion2(int weite, int breite, int tiefe)> {> ...> }>> Funktion2(weite,breite,tiefe);>> ???
Richtig!
Natürlich aber aus einer Funktion aus (in Deinem Fall in Funktion1).
Wenn Du das nicht willst, ist es hilfreich wenn Du die Frage näher
beschreibst. Also, wo wird Funktion1 aufgerufen und wo Funktion2
(Stichwort: Scope).
Grüsse,
René
Also eigentlich habe ich nur eine Lin, nennen wir sie Unter1.h
In dieser befindet sich die Funktion1():
1
voidFunktion1()
2
{
3
...
4
intweite=irgerndwas1;
5
intbreite=irgendwas2;
6
inttiefe=irgendwas3;
7
...
8
}
In derselben Unter1.h will ich nun auf eine Funktion2() zugreifen, die
mit denselben Variablen weite,breite und tiefe aus Funktion1() arbeiten
kann, also in etwa so:
1
voidFunktion2()
2
{
3
...
4
intVolumen;
5
Volumen=weite*breite*tiefe
6
...
7
}
Das ganze halt ohne in Funktion2() wie der die Zuweiseungen int weite =
irgerndwas1; usw. zu machen
Rene H. schrieb:> und als Referenz> void Funktion2(int& weite, int& breite, int& tiefe)> {> ...> }Das ist kein C.
C kennt keine Referenzen, die gibt es nur in C++.