Fehler, Irrtümer, Fragen - Seite 2761
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
0xFF wird wahrscheinlich vom Compiler in 4 Bytes umgewandelt.
nein, aber er wird korrekt initialisiert
Guten Tag, bitte teilen Sie mir mit, wie ich das Problem lösen kann:
Während der Optimierung tritt ein Fehler auf:
2020.05.31 15:05:32.738 Core 7 genetic pass (0, 53) tested with error "critical runtime error 503 in OnTick function (zero divide, module Experts\e1.ex5, file e1.mq5, line 826, col 73)" in 0:00:00.153
double Mix1 = NormalizeDouble((MathAbs(ZExtLevel[0] - ZExtLevel[1]), 2)
double Mix2 = NormalizeDouble((MathAbs(ZExtLevel[1] - ZExtLevel[2])), 2);
double Mix = NormalizeDouble((Mix1/Mix2),2);
Was ich getan habe:
1) Ich habe Mix1 und Mix2 multipliziert, um die Anzahl der Dezimalstellen zu verringern;
2) geänderte Anzahl der Ziffern bei der Normalisierung;
3) Alle ZExtLevels wurden überprüft, um sicherzustellen, dass sie nicht 0 enthalten.
Nein, aber es wird korrekt initialisiert
Warum sind Sie sicher, dass es nicht so ist? Standardmäßig wird in Integer präsentiert. sizeof sagt dies.
Warum sind Sie sicher, dass es nicht so ist? Der Standardwert in Integer ist present. sizeof sagt, dass es das tut.
uint, um genau zu sein.
Warum sind Sie sicher, dass es nicht so ist? Der Standardwert in Integer ist present. sizeof sagt dies.
funktioniert es auch ohne Warnungen?
Weil es eine entsprechende SignaturArrayInitialize gibt
und aus irgendeinem unbekannten Grund haben sie ArrayInitialize() für unsigned uchar nicht erstellt
auf dieselbe Weise und ohne Warnungen funktioniert?
weil es eine entsprechende Signatur ArrayInitialize gibt
und für ein unsigned uchar wurde aus unbekannten Gründen kein ArrayInitialize() ausgeführt.
Es geht nicht um die Unterschrift oder das Fehlen einer Unterschrift. Der Punkt ist, dass 4 Bytes in 1 umgewandelt werden und theoretisch Informationen verloren gehen können - davor warnt der Compiler.
Versuchen SieArrayInitialize(c, (char)10000);
es wird auch eine Warnung geben
Es geht nicht um die Unterschrift oder ihr Fehlen. Der Punkt ist, dass 4 Bytes in 1 umgewandelt werden und theoretisch Informationen verloren gehen können, wovor der Compiler warnt.
Versuchen SieArrayInitialize(c, (char)10000);
es wird auch eine Warnung geben
Nun, es war von Anfang an klar
Die Frage ist hier anders gelagert: Wo brauchen Sie wirklich Holzkohle?
Ich verwende uchar in StringToCharArray() und CryptEncode() und wenn Sie in der Hilfe nachsehen, finden Sie weitere
Das ist der Grund, warum ich ein char-Array mit ArrayInitialize initialisieren kann, aber uchar kann ich es nicht tun
ok, das ist ein großes Tohuwabohu, ich bezweifle, dass es sich ändern wird ;)
PS: 0xFF = 255 (1 Byte)
ja, es ist klar, dass das alles von Anfang an so war
Hier stellt sich eine andere Frage: Braucht man hier wirklich Holzkohle?
Ich verwende uchar in StringToCharArray () und CryptEncode (), und wenn Sie durch die Hilfe gehen, gibt es noch
deshalb kann ich ein char-Array mit ArrayInitialize initialisieren, aber uchar kann nicht
ok, die edle holivar stellte sich heraus, ich bezweifle, dass etwas ändern wird;)
PS: 0xFF = 255 (1 Byte)
Ja, darum ging es von Anfang an.
Und noch eine Frage: Wo brauchen Sie wirklich Saibling?
Ich verwende uchar in StringToCharArray() und CryptEncode().
Das ist der Grund, warum ich ein char-Array mit ArrayInitialize initialisieren kann, aber uchar kann ich esnicht tun
ok, das ist ein großes Tohuwabohu, ich bezweifle, dass es sich ändern wird ;)
PS: 0xFF = 255 (1 Byte)
Ich weiß nicht, warum das nicht geht. uchar funktioniert auf die gleiche Weise wie char.
Sie haben gefragt, warum Sie die Warnung erhalten haben, weil 4 Bytes in 1. 255 ist nicht wichtig. 0 und 1 können 1 und 2 und 4 und 8 Bytes sein)
Alain Verleyen:
überprüft:
OK, funktioniert ohne jegliche Compiler-Warnungen
Dankeschön