Erreurs, bugs, questions - page 2212

 
A100:

Si ici

(*) implique A::a = 2, et non ::a = 2

alors S::q = S::z devrait être implicite là aussi, et non S::q = ::z

Pourquoi S::z serait-il implicite à cet endroit, si l'expression n'est pas dans une fonction de l'objet S, mais au niveau global.

Le niveau global est, c'est-à-dire, implicite ::z - sans aucun de ces éléments.

 
Alexey Kozitsyn:

Chers développeurs, veuillez clarifier, est-il normal que le compilateur ne donne pas d'avertissement sur la conversion de type dans une telle chaîne ?

C'est étrange... Ça ne me dit rien...

 
Georgiy Merts:

C'est étrange... Le mien ne dit rien...

C'est justement ça, il n'écrit rien. Et il devrait, je pense...

 
Alexey Kozitsyn:

C'est justement ça, il n'écrit rien. Mais ça devrait, je pense...

Vous voulez dire que le résultat de int est converti en bool ?

Oui, en théorie, cela devrait générer un avertissement.

 
Georgiy Merts:

Vous voulez dire que le résultat de int est converti en bool ?

Oui, c'est censé donner un avertissement.

Oui, la conversion implicite se fait sans avertissement.

 
Alexey Kozitsyn:

C'est justement ça, il n'écrit rien. Mais il devrait, je pense...

Il devrait. Je peux deviner pourquoi il ne le fait pas. Le zéro est supposé être faux, tout ce qui n'est pas zéro est vrai.

c'est-à-dire.

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

Probablement par ces règles, ils le font, bien qu'encore une fois, je pense que l'avertissement devrait être...

Écrire dans le SD.

 
Alexey Volchanskiy:

Écriture dans le SD

Oui, je l'ai fait... mais pas de réponse. En général, les CA fonctionnent étrangement : j'écris une demande, la demande est acceptée pour examen. Et puis le silence. Pourquoi devrais-je soumettre une demande si je ne vais pas y répondre ? Et ainsi de suite pour toutes les applications.

 
Alexey Kozitsyn:

Chers développeurs, veuillez clarifier, est-il normal que le compilateur ne donne pas d'avertissement sur la conversion de type dans une telle chaîne ?

Réponse des développeurs :

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

Tu dois être plus prudent.

 
Alexey Kozitsyn:

Chers développeurs, veuillez clarifier, est-il normal que le compilateur ne donne pas d'avertissement sur la conversion de type dans une telle chaîne ?

Bars voit ce qu'il renvoie et ce à quoi vous essayez de l'assimiler.

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

Lesbarres regardent ce qu'il rapporte et ce à quoi vous essayez de l'assimiler.

Je suis conscient de ce que Bars() renvoie. La question portait sur autre chose.