Errori, bug, domande - pagina 1644

 
Alexey Navoykov:
Sei venuto da noi dal lontano passato? )
No, un po' più vicino.
 
A100:

Errore di compilazione: ')'. - non tutti i percorsi di controllo restituiscono un valore

Beh, francamente, questo è un esempio assurdo. Anche se il C++ lo permette, ma questo caso è possibile in un'applicazione reale? Perché dovremmo mettere un ciclo se c'è una sola iterazione?
 
Alexey Navoykov:
Beh, francamente questo è un esempio assurdo. Anche se il C++ lo permette, ma questo caso è possibile in un'applicazione reale? Perché metterci un ciclo se c'è una sola iterazione?

Perché uno, se nel senso che è un ciclo senza fine ed è scritto per continuare

E a volte ne hai bisogno, puoi indovinare quando? Vi darò un suggerimento - per uscire da un complicato if-else-switch come goto senza flag inutili e altri eccessi

 
A100:

Perché uno, se è un ciclo senza fine e continua

E ci sono momenti in cui ne hai bisogno, puoi indovinare quando?

Oh, non avevo notato che hai scritto qualcosa nei commenti lì... Era difficile mostrarlo nel codice, vero?
 

In generale, non è molto chiaro cosa si intenda esattamente per "sotto molte linee con ritorno, continua, senza pausa". c'è un if?

p.s. Capito.

 
Sergei Vladimirov:
Nel suo esempio, tutti. Un'uscita da while(true) è possibile solo attraverso l'operatore break (che non ha) o return.
Vitalii Ananev:
Non ho intenzione di discutere. Ma il messaggio di errore del compilatore ')' - non tutti i percorsi di controllo restituiscono un valore, si dice il contrario.

Il contrario di cosa? Che non è solo possibile uscire con una pausa o un ritorno? ))

 
Alexey Navoykov:
In generale, non è molto chiaro cosa si intende esattamente con "sotto molte linee c return, continue, no break". c'è un if?

Non importa. Giocabile anche con un ciclo vuoto:

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


 
Sergei Vladimirov:

Qual è l'inverso di questo? Che non è solo possibile uscire con una pausa o un ritorno? ))

Ecco di cosa si tratta.

Non tutti i rami del codice restituiscono un valore. .....

Voglio dire che non tutti i rami nel codice di cui sopra restituiscono un valore. È in questi casi che il compilatore genera questo errore.

 
Vitalii Ananev:

Si tratta di questo.

Che non tutti i rami del codice di cui sopra restituiscono un valore. È in questi casi che il compilatore genera questo errore.

È quello che sto dicendo: il messaggio di errore è sbagliato.
 
Sergei Vladimirov:

Non importa. Giocabile anche con un ciclo vuoto:

È quello che sto dicendo, il messaggio di errore è sbagliato.

Non ha dato il codice completo, e apparentemente quel codice completo ha operatori di ramificazione.