PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Lokale Variable aus einer anderer Funktion zugreifen



zagadka
08-05-2007, 16:33
Hallo,
leider bin ich kein C Experte, deswegen die Frage.

In F1 wird die lokale Variable testVar definiert. Wie kommt man in F2 an die Variable ran, ohne eine globale aufzumachen.

F1


void cLde::ShowAction(void) {
int testVar=0;


F2:


void cLde::ShowZwo(unsigned int vol, bool absolute ) {
// usw.
if (testVar) { // funzt natürlich nicht..


Für Tipps bin ich dankbar

Gruß

Boron
08-05-2007, 17:10
Das sind ja zwei Methoden der selben Klasse.
Mach die Variable nicht global, sondern als Attribut der Klasse.

Anders? Keine Chance!
Denn die Variabel ist nur zur Laufzeit der ersten Methode angelegt (auf dem Stack). Wenn die Methode fertig ist wird die Variable wieder gelöscht.

zagadka
08-05-2007, 19:26
Das sind ja zwei Methoden der selben Klasse.
Mach die Variable nicht global, sondern als Attribut der Klasse.

Anders? Keine Chance!
Denn die Variabel ist nur zur Laufzeit der ersten Methode angelegt (auf dem Stack). Wenn die Methode fertig ist wird die Variable wieder gelöscht.
Hallo Baron,

danke für die gute Erklärung.

Beste Grüße, zagadka

Boron
09-05-2007, 19:19
"o", the name's Boron.
An einem echten Adelstitel arbeite ich noch :D.

zagadka
09-05-2007, 19:51
Wenn schon, denn schon, Boron ;)

Gruß, zagadka