| Autor |
Nachricht |
Flutschii
Unregistrierter
|
Flutschii Unregistrierter
15:16:18 21.08.2012 Titel: |
Globale Variable |
Zitieren |
Guten Tag,
Ich habe hier ein kleines Projektchen und auch ein kleines Problemchen
Ich habe verschiedene .cpp und .hpp Dateien und will nun von einer Funktion "Anfang" die Funktion "Weiter" aufrufen die in der selben Datei sind, aber von der Funktion "Weiter" geh ich dann nochweiter auf eine Funktion "Nochweiter" in einer anderen Datei.
Nun bräuchte ich aber einen Variableninhalt in "Nochweiter" die in "Anfang" verwendet wurde..
Ich hoffe ihr kommt draus wie ich das meine...
Danke für die Antworten! |
|
|
|
 |
daddy_felix
Mitglied
Benutzerprofil
Anmeldungsdatum: 11.01.2012
Beiträge: 598
|
daddy_felix Mitglied
15:18:44 21.08.2012 Titel: |
|
Zitieren |
das klingt für mich nach einem Parameter.
| C++: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | void Anfang()
{
int x = 5;
Weiter(x);
}
void Weiter(int input)
{
NochWeiter(input);
}
void NochWeiter(int xyz)
{
cout << "Value: " << xyz << endl;
} | | |
|
|
|
 |
Flutschii
Unregistrierter
|
Flutschii Unregistrierter
15:25:08 21.08.2012 Titel: |
|
Zitieren |
Danke für die Antwort, aber mein Problem ist halt das ich nicht weis wie ich die Variablen deklarieren muss das sie eben dann wieder in der Funktion "Anfang" weiterverwenden will....
in deinem Beispiel will ich z.b. in der Funktion "Anfang" dann nach dem Aufruf von "Weiter" mit der Variable xyz weiter was anfangen...
aber er kennt sie dann da ja nicht.. |
|
|
|
 |
vario-500
Mitglied
Benutzerprofil
Anmeldungsdatum: 14.10.2011
Beiträge: 202
|
vario-500 Mitglied
15:29:40 21.08.2012 Titel: |
|
Zitieren |
| C++: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | void Anfang()
{
int x = 5;
int y = Weiter(x); // y == ++xyz
}
int Weiter(int input)
{
return NochWeiter(input);
}
int NochWeiter(int xyz)
{
++xyz;
cout << "Value: " << xyz << endl;
return xyz;
} | |
du musst die funktionen einfach was zurückgeben lassen |
|
|
|
 |
Flutschii
Unregistrierter
|
Flutschii Unregistrierter
15:34:06 21.08.2012 Titel: |
|
Zitieren |
Danke nochmals für die Antworten, aber was wenn ich mehrere Variablen habe? |
|
|
|
 |
daddy_felix
Mitglied
Benutzerprofil
Anmeldungsdatum: 11.01.2012
Beiträge: 598
|
daddy_felix Mitglied
15:46:30 21.08.2012 Titel: |
|
Zitieren |
Dann ist möglicherweise dein Design nicht gut. Wenn viele Funktionen mit denselben Variablen arbeiten, sollte man über eine Klasse nachdenken.
Ansonsten geht auch sowas:
| C++: | 1 2 3 4 5 6 7 8 9 10 11 | struct myStruct
{
std::string stringVar;
int intVar;
int intVar2;
}
void MachWas(myStruct& ms)
{
ms.stringVar = "changed";
} | | |
|
|
|
 |
camper
Mitglied
Benutzerprofil
Anmeldungsdatum: 06.08.2004
Beiträge: 5788
|
camper Mitglied
15:47:28 21.08.2012 Titel: |
|
Zitieren |
| Flutschii schrieb: | | Danke nochmals für die Antworten, aber was wenn ich mehrere Variablen habe? | Beispiel? |
|
|
|
 |
Flutschii
Unregistrierter
|
Flutschii Unregistrierter
15:59:41 21.08.2012 Titel: |
|
Zitieren |
Vielen Dank, mit der return würde es so wie ich das Projekt habe funktionieren, aber ich denke das ich das eben immer weiter entwickle und dann plötzlich 2 Variablen habe, darum frage ich jetzt schon was währe wenn
geht dasselbe auch mit einem Array? z.b. Array "NochvielWeiter[10][10]"?
dann einfach im code
| C++: | | int NochvielWeiter[10][10] = Weiter(vielWeiter[10][10]) | |
? |
|
|
|
 |
daddy_felix
Mitglied
Benutzerprofil
Anmeldungsdatum: 11.01.2012
Beiträge: 598
|
daddy_felix Mitglied
16:12:01 21.08.2012 Titel: |
|
Zitieren |
nein, mit Arrays geht das so nicht. Es geht, aber anders. (Präventiv:) Du solltest statt Arrays sowieso lieber std::vector nehmen.
Generell kommst du gerade irgendwie vom Hundersten ins Tausendste. Es gibt häufig mehrere Möglichkeiten der Modellierung. Je nach konkretem Problem sind einige besser, andere schlechter. Allgemein lässt sich sowas selten sagen. |
|
|
|
 |
Flutschii
Unregistrierter
|
Flutschii Unregistrierter
16:16:52 21.08.2012 Titel: |
|
Zitieren |
| daddy_felix schrieb: | nein, mit Arrays geht das so nicht. Es geht, aber anders. (Präventiv:) Du solltest statt Arrays sowieso lieber std::vector nehmen.
Generell kommst du gerade irgendwie vom Hundersten ins Tausendste. Es gibt häufig mehrere Möglichkeiten der Modellierung. Je nach konkretem Problem sind einige besser, andere schlechter. Allgemein lässt sich sowas selten sagen. |
jo ich merke schon das ich grad bisschen überfordert werde mit dem Schritt, aber irgendwie will ich einfach eine schöne lösung für mein Problem finden aber find sie einfach nicht..
Globale Variablen will ich nicht..
Arrays hab ich keine Ahnung.. |
|
|
|
 |