Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Vous avez"utilisation possible d'une variable non initialisée 'local_low'".
Qu'est-ce que cela dit si
Relisez mes réponses du point de vue d'un directeur d'entreprise de logiciels qui a mis sur le marché de nombreux projets de logiciels.
Sinon, en restant au niveau de "n'importe quel programmeur", vous ne comprendrez pas quelle est l'erreur.
:) Comme je ne serai jamais à la tête d'une société de logiciels, je resterai à jamais au niveau de "n'importe quel programmeur" (c'est-à-dire un programmeur amateur, selon ma conception).
...Et comme le programmeur amateur n'obtient jamais une description logique de l'erreur, il en conclut que soit il n'y a tout simplement pas d'erreur dans son bout de code, soit l'erreur est si compliquée que personne ne peut la décrire dans le langage de la logique. À ce stade, nous pouvons considérer que les deux parties se comprennent, la question est close.
Si la variable est initialisée avec quelque chose, l'avertissement disparaît. Mais, comme vous pouvez le constater par vous-même, l'initialisation de la variable local_low est redondante dans ce morceau de code. L'avertissement n'interfère donc pas du tout avec la vie.
... Le compilateur devra être aussi"infaillible" que possible.
... ne pas écrire si (a==vrai) ...
Mais en raison de l'utilisation de l'interrupcion de la variable bool à la ligne 9 juste après l'initialisation de la variable local_low à la ligne 8, il s'avère qu'à la ligne 15, l'initialisation de la variable local_low sera garantie . Donc, à ce stade, l'avertissement "possible use of uninitialized variable 'local_low'" ne signifie pas "garanti" mais juste la présence possible d'une branche de passage dans laquelle la variable n'est pas initialisée.
Si nous envoyons une demande pour modifier une position avec les mêmes arrêts, nous obtiendrons une erreur. Mais si vous envoyez une requête pour modifier un ordre en attente avec les mêmes paramètres, la requête sera exécutée. Est-ce que c'est ainsi que nous l'avons prévu et que nous n'avons pas besoin de vérifier les paramètres pour des changements ?
Pourquoi encombrer le serveur de demandes inutiles, par exemple en cas d'erreur dans le conseiller expert ou de logique incorrecte de son fonctionnement ?
Dans votre exemple, si Ac-k=0 , alors l'instruction for ne sera pas exécutée du tout et local_low est garanti non initialisé. Ou c'est faux ?
C'est exactement ça. Si Ac-k<=1, l'opérateur for ne doit pas être exécuté du tout et la variable local_low est garantie de rester non initialisée. Mais puisque la variable bool interrupcion restera fausse (ligne 3), la condition de la ligne 13 signifie que la variable non initialisée local_low ne sera jamais (ne devrait jamais) être utilisée dans les calculs. En particulier, une expression avec la variable local_low de la ligne 15 ne doit pas être évaluée [à moins, bien sûr, que l'instruction if fonctionne exactement comme indiqué dans l'aide :) ].
En d'autres termes, si l'on garantit que la variable local_low n'est pas initialisée, on garantit également qu'elle ne sera pas (ne devrait pas) être utilisée dans les calculs.