Fehler, Irrtümer, Fragen - Seite 2212

 

Liebe Entwickler, bitte klären Sie, ist es normal, dass der Compiler keine Warnung über die Typumwandlung in einer solchen Zeichenkette ausgibt?

const bool barsToStart = Bars( _Symbol, _Period, startTime, timeCurrent );
 
A100:

Wenn hier

(*) impliziert A::a = 2, nicht ::a = 2

dann sollte auch dort S::q = S::z impliziert sein, nicht S::q = ::z

Warum sollte dort S::z impliziert sein, wenn der Ausdruck nicht in einer Funktion des S-Objekts, sondern auf globaler Ebene erfolgt?

Die globale Ebene ist, d.h. ::z ist impliziert - ohne eines dieser Elemente.

 
Alexey Kozitsyn:

Liebe Entwickler, bitte klären Sie, ist es normal, dass der Compiler keine Warnung über die Typumwandlung in einer solchen Zeichenkette ausgibt?

Seltsam... Das sagt mir gar nichts...

 
Georgiy Merts:

Das ist seltsam... Auf meinem steht nichts...

Das war's, er schreibt nichts. Und das sollte er auch, denke ich...

 
Alexey Kozitsyn:

Das war's, er schreibt nichts. Aber es sollte, denke ich...

Sie meinen, das Ergebnis von int wird in bool umgewandelt?

Ja, theoretisch sollte es eine Warnung geben.

 
Georgiy Merts:

Sie meinen, das Ergebnis von int wird in bool umgewandelt?

Ja, es soll eine Warnung sein.

Ja, die implizite Umwandlung erfolgt ohne Vorwarnung.

 
Alexey Kozitsyn:

Das war's, er schreibt nichts. Aber er sollte, denke ich...

Das sollte er. Ich kann mir denken, warum das nicht der Fall ist. Null wird als falsch angenommen, alles andere als Null ist wahr.

Das heißt.

bool b1 = 123; // true
b1 = 0; // false

Nach diesen Regeln ist das wahrscheinlich der Fall, obwohl ich auch hier der Meinung bin, dass eine Warnung ausgesprochen werden sollte.

Schreiben Sie in der SD.

 
Alexey Volchanskiy:

Schreiben auf die SD-Karte

Ja, das habe ich... aber keine Antwort. Im Allgemeinen funktionieren die BSBs seltsam: Ich schreibe einen Antrag, der Antrag wird zur Prüfung angenommen. Und dann Stille. Warum sollte ich eine Bewerbung einreichen, wenn ich sie nicht beantworten werde? Und so bei absolut jeder Anwendung.

 
Alexey Kozitsyn:

Liebe Entwickler, bitte klären Sie, ist es normal, dass der Compiler keine Warnung über die Typumwandlung in einer solchen Zeichenfolge gibt?

Die Antwort der Entwickler:

Какого предупреждения вы ждёте? 0 это false, не 0 - true.
Это обычная практика в логических выражениях

Sie müssen vorsichtiger sein.

 
Alexey Kozitsyn:

Liebe Entwickler, bitte klären Sie, ist es normal, dass der Compiler keine Warnung über die Typumwandlung in einer solchen Zeichenkette ausgibt?

Bars sehen, was sie zurückgibt und was Sie versuchen, es gleichzusetzen.

const bool barsToStart = Bars( _Symbol, _Period, startTime, timeCurrent ) == 0 ? false : true;