Fehler, Irrtümer, Fragen - Seite 2416
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
Hier besteht kein Bedarf an Eindeutigkeit. Es sollte einfach die Reihenfolge sein, in der die überladenen Methoden angewendet werden. D.h. die Aufgabe der Überlastungslösung besteht nicht darin, ein Dilemma zu schaffen, sondern die am besten geeignete Methode zu wählen. Wenn wir den Zugriffsmodifikator ignorieren, wird die erste Methode aus der Tabelle genommen oder es hängt von der Compiler-Implementierung ab, aber es gibt keine Zweideutigkeit.
Was wäre, wenn es zum Beispiel 2 Methoden mit unterschiedlichen Eingabeparametern gäbe?
Zurück zu C++, der gleiche Vektor hat einen:
Es handelt sich also um eine völlig normale Situation.
Sie haben ein sehr einfaches Beispiel für Grundschulen genannt. Es scheint nichts mit dem ursprünglichen Beispiel zu tun zu haben.
In diesem Beispiel handelt es sich um eine Methode eines nicht konstanten Objekts, so dass sie unter sonst gleichen Bedingungen aufgerufen werden muss.
Diese Regel war mir nicht bekannt, danke.
Wenn wir das Casting entfernen und das Argument für beide Methoden vom Typ int machen, lässt sich der Code normal kompilieren. Es ist also das Casting, das den MQL-Hänger verursacht. Dieses Casting darf den Code nicht beeinflussen, da er identisch ist.
Die Ursache des Problems scheint darin zu liegen, dass der Compiler nicht überprüft, ob das Casting für die überladenen Methoden identisch ist.
Im Allgemeinen müssen Sie, um dieses Problem (und viele andere in MQL) zu lösen, eine der Methoden in eine Hilfsklasse verschieben:
Sie haben ein sehr einfaches Beispiel für eine Grundschule gegeben. Es scheint nichts mit dem ursprünglichen Beispiel zu tun zu haben.
Zunächst einmal wurden im Optimierungscache sowohl bei MT5 als auch bei MT4 die String-Parameter immer auf 63 Zeichen gekürzt.
Bei der Übertragung von Ereignissen darf die Zeichenkette auch nicht länger als 63 Zeichen sein
Was von außen kommt, ist also begrenzt
Was die Produkte für den Endverbraucher betrifft. Der Verkäufer muss die Einschränkungen berücksichtigen. Und wenn er sie nicht kennt, hat er sein Produkt nicht ausreichend getestet, bevor er es verkauft.
Es geht nicht darum, wie es war und ist, sondern wie es sein sollte, wenn man mit der Zeit gehen und sich zum Besseren verändern will.
Ich lief in dieses Problem, beim Testen eines EA, nach dem Einstellen der Parameter und Drücken der Start-Taste, die EA-Einstellungen werden auf Standard zurückgesetzt, was könnte das Problem sein?
In dem Video ein Beispiel
Ich lief in dieses Problem, beim Testen eines EA, nach dem Einstellen der Parameter und Drücken der Start-Taste, die EA-Einstellungen werden auf Standard zurückgesetzt, was könnte das Problem sein?
Video-Beispiel
MT5 setzt sich im Tester auf die Standardeinstellungen zurück, nachdem Sie auf die Registerkarte "Einstellungen" gegangen sind
Siehe Beitrag #1.
Ich habe eine Frage in einem benachbarten Thread gestellt, aber dort scheinen nicht viele Leute nachzuschauen. Ich werde es hier duplizieren:
https://www.mql5.com/ru/forum/6343/page1020#comment_11112212
Kurz gesagt: Bei Futures (im Tester) werden Geschäfte eröffnet und geschlossen (durch SL/TP), aber immer mit null Gewinn. Kann es sich um einen Fehler im Prüfprogramm handeln? Oder ist ein Trick erforderlich?
Compiler-Fehler: Beim Kompilieren (Syntax-Check) einer .mqh-Datei mit diesem Code wird kein Fehler angezeigt. Er wird nur beim Kompilieren der ausführbaren Datei angezeigt, was unbequem ist.
Compiler-Fehler: Beim Kompilieren (Syntax-Check) einer .mqh-Datei mit solchem Code wird der Fehler nicht erzeugt. Er wird nur beim Kompilieren der ausführbaren Datei erzeugt, was unbequem ist.
Denn ein Heder kompiliert im Prinzip nicht :)))
Wenn Sie den gesamten Compiler dazu zwingen, einen Header zu kompilieren, werden Sie eine Menge falsch positiver Ergebnisse erhalten.
PS. Auch der C++-Compiler beschwert sich nicht, wenn solche Klassen nicht verwendet werden.Denn ein Heder kompiliert im Prinzip nicht :)))
Wenn man einen ganzen Compiler dazu zwingt, einen Header zu kompilieren, gibt es eine Menge falsch positiver Ergebnisse.
PS. Der C++-Compiler wird sich auch nicht beschweren, wenn solche Klassen nicht verwendet werden.Ich bin mir bewusst, dass es nicht kompiliert. Ich spreche von der Syntaxprüfung (die in ME auch "Compile" genannt wird), weil ich sie in einem früheren Beitrag sogar in Klammern angegeben habe. Wenn Sie die Syntaxprüfung auch im C++-Compiler ausführen (normalerweise über die Befehlszeile), schimpft er wie ein Rohrspatz.