Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Expet:
Duck, du hast eine Bibliothek. Natürlich wird es unterschiedliche Variablen geben. Gemeint ist die Anbindung von mqh über include.
In C++ werden Externs nur in Include-Bibliotheken beschrieben, sonst lässt der Compiler Sie das Projekt nicht kompilieren
extern:
der Includer wird beim Kompilieren in den Programmkörper eingefügt. Wenn Sie dort eine Instanz beschreiben wollen, geschieht dasselbe.
alternativ könnte man auch eine externe Klasse oder Struktur mit dem Modifikator beschreiben ;)
In C++ werden Externs in Include-Bibliotheken beschrieben, andernfalls lässt der Compiler Sie das Projekt nicht kompilieren.
Der übliche Weg, eine Bibliothek aufzurufen, ist die Verwendung von "#include" als Name der Datei
...
Der Sinn dabei ist, dass der Includer beim Kompilieren in den Körper des Programms eingefügt wird, wenn man dort eine Instanz beschreiben will, passiert das Gleiche.
Es geht darum, die verknüpfbare Datei unabhängig vom Gesamtprojekt zu behandeln, sie separat zu kompilieren und so auf Fehler zu prüfen.
Es geht darum, eine Plugin-Datei unabhängig vom Gesamtprojekt bearbeiten zu können, sie separat zu kompilieren und dabei auf Fehler zu prüfen.
Ich glaube, wir suchen nach dem Punkt, an dem er einfach nicht mehr da ist.
Das Extern wurde aus Gründen der Kompatibilität mit Tausenden von zuvor geschriebenem Code beibehalten, und die Hilfe wurde von einem Mann geschrieben, der einige der Informationen aus dem Wiki kopiert hat.
Ich glaube, wir suchen nach einem Sinn, wo keiner ist.
imho, extern wurde für die Kompatibilität von Tausenden von Codes, die früher geschrieben wurden, beibehalten, und die Hilfe wurde von einer Person geschrieben, die einige der Informationen aus Wiki kopiert hat
Wie lautet also das Urteil der Herren?) Wenn ich ein .mq5-Programm mit .mqh (#include) schreibe, kann ich sicher extern schreiben und muss keine Angst vor unerwarteten Konsequenzen haben (wie ich es in mql4 getan habe) oder input ?
Es kommt darauf an, welchen Zweck man verfolgt. Sie haben unterschiedliche Zwecke.
Wie lautet also das Urteil, meine Herren?) Wenn ich ein .mq5-Programm mit .mqh (#include) schreibe, kann ich dann gefahrlos extern schreiben und muss keine Angst vor unerwarteten Konsequenzen haben (wie ich es in mql4 getan habe), oder sollte ich trotzdem input verwenden?
Verwenden Sie die Standard-MQL-Code-Konstrukte: alle Eingaben am Anfang des Codes, dann alle Includes. So sind die Beispiele der Entwickler geschrieben, und 99% des Codes in der Codobase sind so geschrieben, und Sie werden keine Überraschungen erleben.
Noch einmal zu extern - sie können während der Ausführung des Programms geändert werden, aber meiner Meinung nach ist es schlechte Praxis, in der Regel alle externen Variablen in OnInit () sind in ihre Variablen kopiert und dann mit ihnen arbeiten (als Beispiel die Experten, die für eine 4-stellige und 5-stellige arbeiten - Beispiele für dieses Design im Netzwerk Tonnen)
Und die Quintessenz - verwenden Sie nicht extern, wenn Sie alten Code ändern, ersetzen Sie es mit Eingabe und der Compiler wird Ihnen helfen, mit Warnungen, wenn es einen Datensatz in extern - Sie müssen es beheben
Übrigens habe ich festgestellt, dass es dem Compiler egal ist, dass ich den Inhalt der Aufzählung als Variable neu deklarieren kann
Übrigens habe ich herausgefunden, dass es dem Compiler egal ist, dass ich den Inhalt der Aufzählung als Variable neu deklarieren kann
Was passiert, wenn ich eine Enum-Variable deklariere?
implizite enum-Umwandlung tst1.mq5 24 17
Sie können auch EnumToString() prüfen
Ich denke, der Typ ohne deklarierte Variablen wurde bei der Kompilierung einfach als nicht verwendet verworfen.