Wenn dies Ihr erster Besuch hier ist,
lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen
durch. Sie müssen sich vermutlich registrieren,
bevor Sie Beiträge verfassen können. Klicken Sie oben auf 'Registrieren', um den Registrierungsprozess zu
starten. Sie können auch jetzt schon Beiträge lesen. Suchen Sie sich einfach das Forum aus, das Sie am meisten
interessiert.
Announcement
Collapse
No announcement yet.
was bedeutet der befehl extern und wie setze ich ihn richtig ein?
Beschreibung: Der Modifizierer teilt dem Compiler mit, daß der Speicherplatz und der Initialisierungswert einer Variablen bzw. der Rumpf einer Funktion effektiv in einem anderen Quelltextmodul definiert wird. Funktionen, die mit extern deklariert sind, sind in allen Quelltextdateien eines Programms sichtbar, sofern Sie die Funktion nicht als static definieren. Bei Funktionsprototypen ist das Schlüsselwort extern optional. Schreiben Sie in C++ extern "c", um zu verhindern, daß Funktionsnamen verändert werden.
Im Klartext: In Datei A.CPP hast Du eine Funktion, Methode, Variable oder ein Objekt, auf das Du aus Datei B.CPP zugreifen möchtest. Dann schreibst Du eine Datei A.H mit z.B. extern int x; und includest diese in der Datei B.CPP, und zusätzlich - obwohl nicht unbedingt nötig - in Datei A.CPP ( Um Compilerwarnungen zu erhalten wenn die Definitionen nicht übereinstimmen ).
In Unit2.cpp will ich auf die Variable zugreifen. Also binden wir als erstes die entsprechende Header-Datei in Unit2.cpp ein (Menü Datei). Nun will ich aber mit der Variablen Anzahl arbeiten->
extern int Anzahl;
....beliebiger Code
Der Compiler "weiß" nun, dass der Speicherplatz von Anzahl außerhalb dieser Unit liegt und meckert nicht herum.
Comment