Und was wird der Compiler darauf antworten? Und sie wird folgende Fragen beantworten '=' - unzulässige Verwendung einer Zuweisung
Der Compiler war ungebeugt - '=' - unzulässige Verwendung einer Zuweisung.
Ich habe eine Frage: Was passiert, wenn der Programmierer (in diesem Fall ich) die Variablen nicht initialisiert, bevor er sie benutzt (er/sie tut, was der Compiler verlangt und lässt diesen Moment im Konstruktor aus)?
Die richtige Art und Weise, Mitglieder von Strukturen/Klassen im Konstruktor/den Konstruktoren zu initialisieren:
Interesting: Ja, das habe ich vor über einem Jahr herausgefunden, zumindest mache ich das seit 2010 so.
Sie können es seit 2010 nicht mehr richtig gemacht haben, denn die Initialisierungsliste wurde erst vor kurzem eingeführt :) .
mql5:
NULL bedeutet, dass die Zeichenfolge nicht zugewiesen ist, und "", dass die Zeichenfolge zugewiesen ist und einen Wert hat.
Okay, ich werde es anders formulieren. Welchen Sinn hat es, dem Benutzer einen "nicht verteilten" String-Status zu übermitteln? Kann sie sinnvoll eingesetzt werden oder ist sie nur eine Krücke?
Ich kann mich nicht mehr genau erinnern, aber ich habe Anfang 2010 (erstes Quartal, ich kann es nicht genau sagen; und es ist mühsam, nach Quellen zu suchen) angefangen, mit Objekten zu arbeiten. Davor habe ich mich mit Bibliotheken beschäftigt und die Grundlagen von MQL5 studiert (oder besser gesagt, mich mit MQL5-Migrationsfragen beschäftigt).
Ups, ich hab's. Es gibt also keinen universellen Weg. Die Frage kam auf, weil das Überladen zu identischen Funktionen mit nur einem(!) Unterschied führt - im Funktionskopf, wenn Sie einen Array-Typ angeben müssen. Nicht gerade sauber, aber was soll ich machen, ich belasse es dabei. Ich hatte gehofft, dass es einen Ausweg gibt, wie im Referenzhandbuch.
Wir müssen die Initialisierung in die Initialisierungsliste verschieben.
Nur statische integrale Konstanten können in der Deklaration initialisiert werden (zumindest in C++, in MQL5 weiß ich es noch nicht :) )
Apropos Vögel.
Und was wird der Compiler darauf antworten? Und sie wird folgende Fragen beantworten '=' - unzulässige Verwendung einer Zuweisung
Der Compiler war ungebeugt - '=' - unzulässige Verwendung einer Zuweisung.
Ich habe eine Frage: Was passiert, wenn der Programmierer (in diesem Fall ich) die Variablen nicht initialisiert, bevor er sie benutzt (er/sie tut, was der Compiler verlangt und lässt diesen Moment im Konstruktor aus)?
Die richtige Art und Weise, Mitglieder von Strukturen/Klassen im Konstruktor/den Konstruktoren zu initialisieren:
Eine Frage noch, die letzte. Was ist der Grund dafür, dass "" und NULL für Strings nicht gleichwertig sind?
Struktur-/Klassenmitglieder in den Konstruktoren ordnungsgemäß zu initialisieren:
Ja, das habe ich vor über einem Jahr herausgefunden, zumindest mache ich das seit 2010 so.
Sie können es seit 2010 nicht mehr richtig gemacht haben, denn die Initialisierungsliste wurde erst vor kurzem eingeführt :) .
NULL bedeutet, dass die Zeichenfolge nicht zugewiesen ist, und "", dass die Zeichenfolge zugewiesen ist und einen Wert hat.
Sie können es seit 2010 nicht mehr richtig gemacht haben, da die Initialisierungsliste erst kürzlich eingeführt wurde :) .
Sie können es seit 2010 nicht mehr richtig gemacht haben, da die Initialisierungsliste erst kürzlich eingeführt wurde :) .
Ich meinte die Initialisierung im Klassenkonstruktor und die Deklaration als
Ich kann mich nicht mehr genau erinnern, aber ich habe Anfang 2010 (erstes Quartal, ich kann es nicht genau sagen; und es ist mühsam, nach Quellen zu suchen) angefangen, mit Objekten zu arbeiten. Davor habe ich mich mit Bibliotheken beschäftigt und die Grundlagen von MQL5 studiert (oder besser gesagt, mich mit MQL5-Migrationsfragen beschäftigt).Führen Sie eine Überlastungsfunktion für verschiedene Datentypen im Array aus.
Ein einfaches Skript wie dieses liefert seltsame Ergebnisse
Vielleicht kann jemand erklären, woran das liegt? Wenn die Zahl 254 explizit in uchar umgewandelt wird, funktioniert sie wie vorgesehen.