Erreurs, bugs, questions - page 1644

 
A100:

Erreur de compilation : ')'. - tous les chemins de contrôle ne renvoient pas une valeur

Eh bien, franchement, c'est un exemple absurde. Même si le C++ le permet, mais ce cas est-il possible dans une application réelle ? Pourquoi devrions-nous mettre une boucle à cet endroit s'il n'y a qu'une seule itération ?
 
Alexey Navoykov:
Eh bien, franchement, c'est un exemple absurde. Même si le C++ le permet, mais ce cas est-il possible dans une application réelle ? Pourquoi y mettre une boucle s'il n'y a qu'une seule itération ?

Pourquoi un, si dans le sens où c'est un cycle sans fin et qu'il est écrit de continuer

Et parfois vous en avez besoin, pouvez-vous deviner quand ? Je vais vous donner un indice - pour sortir d'un commutateur if-else compliqué comme goto sans drapeaux inutiles et autres excès

 
A100:

Pourquoi un, si c'est un cycle sans fin et qu'il continue

Et il y a des moments où vous en avez besoin, pouvez-vous deviner quand ?

Oh, je n'ai pas remarqué que tu as quelque chose d'écrit dans les commentaires là... C'était difficile de le montrer dans le code, non ?
 

En général, ce n'est pas très clair ce qu'on entend exactement par "plusieurs lignes avec retour, continuation, sans pause". Y a-t-il un if là-dedans ?

p.s. Je l'ai eu.

 
Sergei Vladimirov:
Dans son exemple, tous. Une sortie de while(true) n'est possible que par l'opérateur break (qui n'existe pas) ou return.
Vitalii Ananev:
Je ne vais pas discuter. Mais le message d'erreur du compilateur ')'. - tous les chemins de contrôle ne renvoient pas une valeur, cela dit le contraire.

Le contraire de quoi ? Qu'il n'est pas seulement possible de sortir avec un break ou un return ? ))

 
Alexey Navoykov:
En général, ce n'est pas très clair ce qu'on entend exactement par "sous de nombreuses lignes c return, continue, no break". y a-t-il un if ?

Ça n'a pas d'importance. Jouable même avec un cycle vide :

bool Func()
{
   while(true)
   {
      return true;
   }
}
//')' - not all control paths return a value	Temp Script.mq4	25	1


 
Sergei Vladimirov:

Quel est l'inverse de cela ? Qu'il n'est pas seulement possible de sortir avec un break ou un return ? ))

C'est de ça qu'il s'agit.

Toutes les branches de code ne renvoient pas une valeur. .....

Je veux dire que toutes les branches du code ci-dessus ne retournent pas une valeur. C'est dans de tels cas que le compilateur génère cette erreur.

 
Vitalii Ananev:

C'est à ce sujet.

Que toutes les branches du code ci-dessus ne retournent pas une valeur. C'est dans de tels cas que le compilateur génère cette erreur.

C'est ce que je dis : le message d'erreur est faux.
 
Sergei Vladimirov:

Cela ne fait aucune différence. Jouable même avec un cycle vide :

C'est ce que je dis, le message d'erreur est faux.

Il n'a pas donné le code complet, et apparemment ce code complet a des opérateurs de branchement.

 
Vitalii Ananev:
Il n'a pas donné le code complet, et apparemment il y a des opérateurs de branchement dans ce code complet.
J'ai donné le code complet.