Fehler, Irrtümer, Fragen - Seite 2966
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
Diskutiert.
Der Fehler ist dort nämlich nicht offensichtlich: "Vielleicht war das so beabsichtigt".
Hier ist es nach Ausführung der Funktion GetLastError() = ERR_WRONG_STRING_DATE. Wenn das Datum falsch ist, warum ist dann das Ergebnis nicht falsch?
Das bezweifle ich.
Ich habe mir nicht die Mühe gemacht... Ich habe gezählt - Sie haben 30 Zeilen, ich habe 13
Ich habe mir nicht die Mühe gemacht... Ich habe gezählt - Sie haben 30 Zeilen, ich habe 13.
Die Hauptsache ist, das gleiche Ergebnis zu erzielen und nicht an Leistung zu verlieren.
Fehler bei der binären Suche nach einem Wert in einem sortierten Array:
Ergebnis:
Anstelle von 2 sollte es 3 sein
Fehler bei der binären Suche nach einem Wert in einem sortierten Array:
Ergebnis:
Anstelle von 2 sollte es 3 sein
Es geht nicht darum, den Fehler zu umgehen, sondern ihn zu beheben, zumal diese Funktion in vielen Quellen, auch Standardquellen, verwendet werden kann. Und es ist möglich, dass es im Terminalcode selbst, im Code-Editor... verwendet wird.
Es geht nicht darum, den Fehler zu umgehen, sondern ihn zu beheben, zumal diese Funktion in vielen Quellen, auch Standardquellen, verwendet werden kann. Und es ist möglich, dass es im Terminalcode selbst, im Code-Editor... verwendet wird.
Ich denke, es ist ein Problem mit großen Bits in einer Situation, in der fast alle Bits belegt sind. Es ist erstaunlich, dass jemand diesen Fehler nach so langer Zeit gefunden hat.
Sie werden es wahrscheinlich beheben. Meiner Meinung nach ist das Problem mit großen Longs in einer Situation, in der fast alle Bits besetzt sind. es ist überraschend, dass jemand diesen Fehler nach so viel Zeit gefunden hat.
Ich bin überrascht, dass sie diesen Fehler in einer häufig verwendeten Funktion so lange nicht gefunden haben.
Nochmals zu nicht initialisierten Variablen. Es ist klar, dass ihr Wert in keiner Weise vorhersehbar sein kann. Aber dies ist das erste Mal, dass ich darauf gestoßen bin, dass sie ihren Wert zur Laufzeit einer Funktion selbst ändern können (ich habe es nicht durch Suchen gefunden). Hier ist der Skriptcode und das Ergebnis:
Ergebnis:
terminal:
2021.02.19 19:30:47.003 Terminal Opening Broker x64 build 2755 gestartet für JSC ''Opening Broker''
2021.02.19 19 19:30:47.113 Terminal Windows 7 Service Pack 1 build 7601, Intel Core i5-2520M @ 2.50GHz, 5 / 7 Gb Arbeitsspeicher, 41 / 287 Gb Festplatte, IE 11, UAC, GMT+3
Wenn das Skript wiederholt läuft, können sich die Anfangswerte der Variablen a,b und x ändern, aber das Gesamtverhalten ist konstant:
1. Im ersten Teil des Skripts ändern sich die Werte der Variablen a und b im Code nicht, aber nach der Ausführung von PrintFormat("%I64d", 1) gibt PrintFormat("a==%I64d", a) plötzlich 1 aus, dasselbe gilt für b. Und interessanterweise ist (a==1)==wahr und sofort (a==2)==wahr (auch für b)!!! Beim letzten Aufruf zeigt PrintFormat("a==%I64d, b==%I64d", a, b) a==1, aber b == der Wert, der am Anfang des Skripts stand.
2. Im zweiten Teil des Skripts versuche ich, den Wert der uninitialen Variablen zu ändern. Nach y=x++ sollte sich der Wert von x ändern. Aber es bleibt gleich (in diesem Lauf ==1).
Bitte versuchen Sie, das Skript auszuführen und die Ausgabe zu posten.
Daher die Frage an die Kenner: Ist dieses Verhalten normal (wie undefiniertes Verhalten) oder ist es ein Fehler?
Nochmals zu nicht initialisierten Variablen. Es ist klar, dass ihr Wert in keiner Weise vorhersehbar sein kann. Aber dies ist das erste Mal, dass ich darauf gestoßen bin, dass sie ihren Wert zur Laufzeit einer Funktion selbst ändern können (ich habe es nicht durch Suchen gefunden). Hier ist der Skriptcode und was ich erhalte:
Ergebnis:
terminal:
2021.02.19 19:30:47.003 Terminal Opening Broker x64 build 2755 gestartet für JSC ''Opening Broker''
2021.02.19 19 19:30:47.113 Terminal Windows 7 Service Pack 1 build 7601, Intel Core i5-2520M @ 2.50GHz, 5 / 7 Gb Arbeitsspeicher, 41 / 287 Gb Festplatte, IE 11, UAC, GMT+3
Wenn das Skript wiederholt läuft, können sich die Anfangswerte der Variablen a,b und x ändern, aber das Gesamtverhalten ist konstant:
1. Im ersten Teil des Skripts ändern sich die Werte der Variablen a und b im Code nicht, aber nach der Ausführung von PrintFormat("%I64d", 1) gibt PrintFormat("a==%I64d", a) plötzlich 1 aus, dasselbe gilt für b. Und interessanterweise ist (a==1)==wahr und sofort (a==2)==wahr (auch für b)!!! Beim letzten Aufruf zeigt PrintFormat("a==%I64d, b==%I64d", a, b) a==1, aber b == der Wert, der am Anfang des Skripts stand.
2. Im zweiten Teil des Skripts versuche ich, den Wert der uninitialen Variablen zu ändern. Nach y=x++ sollte sich der Wert von x ändern. Aber es bleibt gleich (in diesem Lauf ==1).
Bitte versuchen Sie, das Skript auszuführen und die Ausgabe zu posten.
Daher die Frage an die Kenner: Ist dieses Verhalten normal (wie undefiniertes Verhalten) oder ist es ein Fehler?