Fehler, Irrtümer, Fragen - Seite 2752

 
Sergey Dzyublik:

Führen Sie wenigstens einen Debugger aus, bevor Sie lächerliche Anweisungen schreiben.
In der zweiten Schleife ist i == 1 und j == 1, und in der dritten Schleife usw. sind beide um eins größer.

Schließe wenigstens die Schule ab, bevor du Fremden etwas vorwirfst.

In der russischen Sprache bedeutet ein Fragezeichen am Ende eines Satzes keine Behauptung!

 
Igor Makanu:

Sie sollten zumindest die Schule beenden, bevor Sie Fremde beschuldigen
In der russischen Sprache bedeutet ein Fragezeichen am Ende eines Satzes keine Aussage!

Tut mir leid, dass ich Ihre Gefühle verletzt habe...
Ich hoffe, Sie werden herausfinden, wie der heimtückische const-Modifikator in MQL funktioniert.

Fehler, Irrtümer, Fragen

Igor Makanu,2020.03.21 10:26

letztes Jahr hat es nicht so funktioniert - ich habe gezielt die const Modifikatoren getestet
und es scheint, dass@Ilyas erklärt hat, wie man ein MQL-Programm ausführt. Zuerst werden alle const und static initialisiert, egal wo sie beschrieben sind und dann werden die Klassenkonstruktoren aufgerufen
ok, mit dieser Initialisierung static / const - kann es richtig verteilt werden, aber der const Modifikator garantiert nicht, dass der Compiler es überprüft - sehr unerwartet - mein zweites Beispiel


 
Sergey Dzyublik:

Tut mir leid, wenn ich Ihre Würde verletzt habe...
Ich hoffe, dass Sie herausfinden können, wie der heimtückische const-Modifikator in MQL funktioniert.

Entschuldigung, lesen Sie den Kontext, einschließlich der Begrenzungszeichen

Sie und ich haben unterschiedliche Aufgaben im Forum, Sie sind ein besserwisserischer Forumsnutzer, der seine Fähigkeiten durch die Beantwortung von Fragen von Forumsnutzern steigert, während ich mich nicht scheue, eine Frage im Forum zu stellen und mich nicht scheue, meine Unwissenheit zu zeigen.... Warum eine Frage stellen, wenn man die Antwort kennt?

auch wenn Sie vielleicht ein Vertreter der Sicherheitsindustrie sind und wieder einmal versuchen, meine Beiträge in der Geschichte des Forums zu finden, um sie der aktuellen Diskussion zuzuordnen ... lesen Sie die erste Zeile dieses Beitrags!

 

Während der Fehlersuche und wenn der Indikator selbst arbeitet, schreibt er im Protokoll plötzlich Stack overflow. Beim Debugging selbst wird die Meldung "Kritischer Fehler aufgetreten, Debugging gestoppt" angezeigt. Hier ist mein ähnlicher Thread:https://www.mql5.com/ru/forum/338301. Aber während der Kompilierung schimpft der Compiler nicht und alles geht gut. Beim Debuggen ist es unmöglich festzustellen, an welchem Punkt das Programm abstürzt.

Vielleicht liegt es am Compiler? Ich bin nicht wirklich daran interessiert, welchen Compiler ich verwende, aber in meinen Einstellungen sieht es so aus:

Kompilierer

Ich habe VS installiert, also habe ich diesen Link in den Einstellungen. Der Compiler ist also auch geeignet...? Aber welchen Compiler es gab, als ich VS noch nicht hatte, habe ich ehrlich gesagt nicht herausgefunden. Vielleicht sollten wir versuchen, zu diesem Compiler zurückzukehren und das Projekt mit ihm zu kompilieren?

Ошибка при дебаге (Возникла критическая ошибка, отладка остановлена)
Ошибка при дебаге (Возникла критическая ошибка, отладка остановлена)
  • 2020.04.23
  • www.mql5.com
Решил поэкспериментировать со стандартным UI компонентом CAppDialog...
 
fxsaber:

Vor kurzem habe ich ein Symbol entdeckt, bei dem die Ziffern falsch eingestellt waren. Ich habe den Makler gebeten, dies zu korrigieren. Er hat es sofort getan. Ich habe nicht nachgesehen, ob sich der Wert der Variablen _Digits und Digits() geändert hat. Aber es ist nun einmal so, dass das Symbol seine Werte spontan ändern kann.

Der Wert von _Digits sollte sich zumindest nicht geändert haben, da er sich in einem schreibgeschützten Speicherblock befindet

 
Mihail Matkovskij:

Während der Fehlersuche und wenn der Indikator selbst arbeitet, schreibt er im Protokoll plötzlich Stack overflow. Beim Debugging selbst wird die Meldung "Kritischer Fehler aufgetreten, Debugging gestoppt" angezeigt. Hier ist mein ähnlicher Thread:https://www.mql5.com/ru/forum/338301. Aber während der Kompilierung schimpft der Compiler nicht und alles geht gut. Beim Debuggen ist es unmöglich festzustellen, an welchem Punkt das Programm abstürzt.

Vielleicht liegt es am Compiler? Ich bin nicht wirklich daran interessiert, welchen Compiler ich verwende, aber in meinen Einstellungen sieht es so aus:

Ich habe VS installiert, also habe ich diesen Link in den Einstellungen. Der Compiler ist also auch geeignet...? Aber welchen Compiler es gab, als ich VS noch nicht hatte, habe ich ehrlich gesagt nicht herausgefunden. Vielleicht sollten wir versuchen, zu diesem Compiler zurückzukehren und das Projekt mit ihm zu kompilieren?

Wie kann man den Compiler ändern?

 
A100:

Der Wert von _Digits sollte sich nicht geändert haben, und sei es nur, weil er sich in einem schreibgeschützten Speicherblock befindet

Es stellt sich dann heraus, dass dieser Wert ein Betrug sein könnte.

 
Andrey Barinov:

Das war schon immer möglich (F3). Sie funktionieren.

mit F3 funktionieren, aber im Menü nicht.

 
fxsaber:

Es stellt sich dann heraus, dass dieser Wert schummeln kann.

Daher sollten wir der Strenge halberDigits() anstelle von _Digits verwenden. Dann gibt es formal keinen logischen Widerspruch - Digits() ist nicht mit dem Modifikator const verbunden.

Soweit ich verstanden habe, wurde _Digits für die Kompatibilität mit MT4 benötigt - mehr nicht

 
Igor Makanu:

Soll das Skript sum = 0 zurückgeben?

oder sollte dieses Skript sogar einen Kompilierfehler zurückgeben?

Die Funktion f wird bei jeder Iteration ausgeführt, ist also nicht 0. Ich verstehe, was Ihr Missverständnis war. In C# wird der const-Spezifizierer nur für konstante Ausdrücke verwendet, die bei der Kompilierung berechnet werden. In C++ gibt es dafür ein Analogon: constexpr.Und in MQL gibt es ihn nicht.