Erreurs, bugs, questions - page 2641
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
Il existe un tel conseiller. Une erreur s'est produite
Si vous commentez en continu, c'est bien. Suis-je le seul à penser que c'est étrange ?
Si une fonction n'est pas déclarée comme étant nulle, elle doit renvoyer une valeur:
La seule façon de sortir de cette fonction est de passer par i==100. Pourquoi pense-t-il que l'apparition de continue conduit à une sortie supplémentaire de la fonction ?
La sortie unique ou multiple n'est pas importante. L'important est que VOUS ayez déclaré une fonction avec un type autre que void - ce qui signifie que la fonction DOIT retourner une valeur.
La fonction et renvoie une valeur
C'est la seule façon de sortir de la fonction. C'est-à-dire le seul endroit où il doit retourner une valeur. Et le compilateur C/C++ est d'accord avec moi. Si MQL a toujours ses propres normes à ce sujet, pourquoi se construit-il normalement si continue est retiré ?
La fonction et renvoie une valeur
C'est la seule sortie de la fonction. C'est-à-dire le seul endroit où il doit retourner une valeur. Et le compilateur C/C++ est d'accord avec moi. Si MQL a toujours ses propres normes à ce sujet, pourquoi se construit-il normalement si continue est retiré ?
Le compilateur ne sait pas si la boucle sera traitée et si le code atteindra le retour ; il a donc besoin d'un dispositif de sécurité.
Le compilateur ne sait pas si la boucle sera traitée et si l'exécution du code atteindra le retour ; c'est pourquoi il exige une précaution de sécurité.
Le compilateur C/C++ le sait parfaitement. Le compilateur MQL est basé sur l'un des compilateurs C/C++, si j'ai bien compris. Mais encore une fois, même s'il a sa propre logique, pourquoi sait-il sans continuer, mais avec continuer, cette connaissance disparaît ?
Le compilateur C/C++ le sait parfaitement. Le compilateur MQL est basé sur l'un des compilateurs C/C++, si j'ai bien compris. Mais encore une fois, même s'il a sa propre logique, pourquoi sait-il sans continuer, mais avec continuer, cette connaissance disparaît ?
Probablement parce que seule une personne au premier coup d'oeil regarde un tel code
peut deviner ce qui va se passer sans réfléchir. À mon avis, ce devrait être C et C++, et non MQL. C'est mql qui protège contre de telles erreurs accidentelles.La fonction et renvoie une valeur
C'est la seule façon de sortir de la fonction. C'est-à-dire le seul endroit où il doit retourner une valeur. Et le compilateur C/C++ est d'accord avec moi. Si le MQL a toujours ses propres normes à cet égard, pourquoi se construit-il normalement si le continu est retiré ?
Votre fonction est un bug. Si i==100, la vérification suivante pour le même i==100 ne fonctionnera pas. Et vous obtiendrez une boucle infinie.
Probablement parce que seule une personne au premier coup d'oeil regarde un tel code
Le programmeur peut deviner ce qui va se passer sans réfléchir. À mon avis, la plainte devrait être adressée à C et C++, et non à MQL. C'est mql qui protège contre ces bugs occasionnels.Une telle erreur n'existe pas en C/C++.
Votre fonction est un bug. Si i==100, la vérification suivante pour le même i==100 ne fonctionnera pas. Et vous obtiendrez une boucle d'infini.
Regardez de plus près. Il n'y a pas d'erreur dans la fonction que j'ai postée ci-dessus.