ich will eine bestimmte Variable aus funktion2 auch in funktion1 verwenden.
Habe bisher folgendes:
C++:
void funktion1 (void) { int variableY= 0; if (variableX > variableY) { ... } }
void funktion2 (void) { int variableX= 100/2; }
Ich glaube da muß man etwas anstelle von void schreiben, blicke da aber noch nicht so ganz durch. Ich bräuchte am besten mal ein Beispiel mit Erklärung. Danke.
Geht nicht: die Variablen sind lokal so daß variableX nur existiert, während du in function2 bist und umgekehrt existiert variableY nur, während du in funktion1 bist.
Du solltest, wenn Du dich mit C auseinandersetzt, zumindestens die absoluten Basics mal in einem Tutorial nachlesen, sonst ist Frust vorprogrammiert. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21)
Ich weiß ja nicht wie das genau funktioniert. Ich müßte also funktion2 int funktion2 (void) schreiben, so dass Sie einen Integer-Wert zurückgeben kann und bei funktion1 dann void funktion1 (int variableX) ?
hab ich zwar schon ein paar mal gepostet aber vielleicht hilft dir das hier dazu die von virtual angesprochenen basics zu verstehen
C++:
int x=3;y=5;
void swap(int x,int y){int help=x;x=y;y=help;} //wen du es so machst wird zwar getauscht aber wenn die funktion am ende durch ist steht in x immer noch 3 und in y dir 5 weil nur mit kopien von x und y gearbeitet worden ist die am ende der funktion wieder gelöscht werden.
void swap(int *x, int *y){int help=*x;*x=*y;*y=help;} //hierbei steht auch nach dem durchlaufen der funktion in x die 5 und in y die 3 weil nicht die variablen selber sondern die pointer kopiert wurden
void swap(int &x, int &y){int help=x;x=y;y=help;} //ist ähnlich wie bei den pointer nur das du dir das dämliche dereferenzieren ersparst. es wird nicht mit kopien der variable selbst gearbeitet sondern direkt mit den addressen obwohl du die variablen ansprichst als wären sie keine adressen