Erros, bugs, perguntas - página 1644

 
Alexey Navoykov:
Veio até nós de um passado distante? )
Não, um pouco mais perto.
 
A100:

Erro de compilação: ') - nem todos os caminhos de controlo devolvem um valor

Bem, francamente falando, este é um exemplo absurdo. Mesmo que C++ o permita, mas será este caso possível numa aplicação real? Por que razão deveríamos colocar aí um laço se só existe uma iteração?
 
Alexey Navoykov:
Bem, francamente falando, este é um exemplo absurdo. Mesmo que C++ o permita, mas será este caso possível numa aplicação real? Porque é que colocaria aí um laço se só existe uma iteração?

Porquê, se no sentido em que é um ciclo interminável e está escrito para continuar

E por vezes é preciso um, pode adivinhar quando? Vou dar-lhe uma dica - para sair de uma complicada troca de "se-else-switch" como Goto sem bandeiras e outros excessos desnecessários

 
A100:

Porquê um, se é um ciclo infinito e continua

E há alturas em que é necessário, pode adivinhar quando?

Oh, só não reparei que tem algo escrito nos comentários lá... Foi difícil mostrá-lo no código, não foi?
 

Em geral, não é muito claro o que se entende exactamente por "sob muitas linhas com retorno, continuar, sem pausa". existe um "se"?

p.s. Já está.

 
Sergei Vladimirov:
No seu exemplo, todos eles. Uma saída de while(true) só é possível através de um operador de break (que não tem) ou retorno.
Vitalii Ananev:
Não vou discutir. Mas a mensagem de erro do compilador ') - nem todos os caminhos de controlo devolvem um valor, diz o contrário.

Sobre o oposto de quê? Que não só é possível sair com uma pausa ou regressar? ))

 
Alexey Navoykov:
Em geral, não é muito claro o que se entende exactamente por "sob muitas linhas c retorno, continuar, sem pausa". existe um "se"?

Não importa. Jogável mesmo com um ciclo vazio:

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


 
Sergei Vladimirov:

Sobre o oposto de quê? Que não só é possível sair com uma pausa ou regressar? ))

É disso que se trata.

Nem todos os ramos de código devolvem um valor. .....

Quero dizer que nem todos os ramos do código acima devolvem um valor. É em tais casos que o compilador gera este erro.

 
Vitalii Ananev:

Isto é sobre isso.

Que nem todos os ramos do código acima indicado devolvam um valor. É em tais casos que o compilador gera este erro.

É isso que estou a dizer: a mensagem de erro está errada.
 
Sergei Vladimirov:

Não importa. Jogável mesmo com um ciclo vazio:

É isso que estou a dizer, a mensagem de erro está errada.

Ele não deu o código completo, e aparentemente esse código completo tem operadores ramificados.