Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

1

29.03.2007, 21:30

globale Variable - Regel

Ich hab jetzt seit verdammt langer Zeit rumgerätzelt, aber ich komm grad überhaupt nicht weiter!

Quellcode

1
2
3
4
5
6
7
8
9
10
11
MAIN.H
globale Variable;

(MAIN.CPP)
// ...

(SUMMARY.H)
// ...

SUMMARY.CPP
globale Variable = false; // Fehler! (Variable nicht deklariert)



Ich verstehe nicht, wo überhaupt das Problem liegt. Ist eine globale Variable nicht von überall her zugänglich?

Mit freundlichen Grüßen,
WhiteMike

R3sident3vil

Treue Seele

Beiträge: 177

Wohnort: 1010010

Beruf: Selbstständig

  • Private Nachricht senden

2

29.03.2007, 21:42

Ja schon, aber du musst deine Variable, ob global oder lokal immer mit einem Deklarationstypen (z.B int) vereinbaren

:arrow: Das gehört zu den Grundlagen ;)
Kaum ist Linux wieder da, schon gehts meinem Rechner wunderbar, denn Linux ist die beste Medezin.

Olischewsky Arts

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

3

29.03.2007, 21:45

Genauer sieht es ja so aus:

Quellcode

1
2
3
4
5
6
7
MAIN.H
bool Running = true;


SUMMARY.CPP
if(...)
Running = false;



EDIT: Okay, hab vergessen die Main.h zu includen (dumm von mir)
Allerdings bekomm ich dann die Meldung, dass das Symol Running (usw.) bereits in der ObjektDatei aufgelöst wurde.

Mit freundlichen Grüßen,
WhiteMike

big_muff

Alter Hase

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

4

29.03.2007, 21:49

Globale Variablen definiert man nicht im Header (besser überhaupt nicht!), sondern in der cpp-Datei. Wenn du die Variable in einer anderen cpp-Datei nutzen möchtest musst du sie mit extern deklarieren.

Datei1.cpp

C-/C++-Quelltext

1
int Test;

Datei2.cpp

C-/C++-Quelltext

1
extern int Test;
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

5

29.03.2007, 21:59

Jetzt hab ich es verstanden!

Hab es auch gleich mal gelöst.


Vielen Dank! :-)

Da sieht man mal wieder, wie weit ich mit dem Programmieren bin -.-

Mit freundlichen Grüßen,
WhiteMike

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

30.03.2007, 07:45

Zitat von »"big_muff"«

(besser überhaupt nicht!)


Was spricht denn deiner Meinung nach gegen globale Variablen?
@D13_Dreinig

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

7

30.03.2007, 08:41


David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

8

30.03.2007, 08:50

Zitat von »"rewb0rn"«



Ich bin mir über die Vor- und Nachteile bewusst. Mich hätte nur interessiert warum big_muff ganz und gar von globalen Variablen abrät. Es kann durchaus Fälle geben wo die Verwendung einer globalen Variable sinnvoll ist. Natürlich sollte man dennoch vorsichtig damit umgehen, aber so grauenhaft schlecht wie manche sie darstellen sind globale Variablen garnicht.






[die Singleton Diskussion geht hier weiter, rewb0rn]
@D13_Dreinig

Werbeanzeige