Errori, bug, domande - pagina 1643

 
A100:

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

Non avete tutti i rami del codice che restituiscono un valore:

int f()
{
 int res = 0;
        while ( true ) //или for(;;)
        {
//много строк c return, continue, без break
                res = 0;break или continue
//много строк c return, continue, без break
                res = 1;break или continue 
        }
return(res);
}

O come questo:

int f()
{
        while ( true ) //или for(;;)
        {
//много строк c return, continue, без break
                return 0;
//много строк c return, continue, без break
                return 1;
        }
  return(значение возвращаемое по умолчанию если не выполнены предыдущее return);
}
 
Vitalii Ananev:

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

Nel suo esempio, lo fanno tutti. Si può uscire da while(true) solo con break (che non ha) o return.
 
Sergei Vladimirov:
Nell'esempio che fa, tutti. L'unico modo per uscire da while(true) è con break (che non ha) o return.
Non ho intenzione di discutere. Ma il messaggio di errore del compilatore ')' - non tutti i percorsi di controllo restituiscono un valore, dice altrimenti.
 
Vitalii Ananev:
Non ho intenzione di discutere. Ma il messaggio di errore del compilatore ')' - non tutti i percorsi di controllo restituiscono un valore, dice altrimenti.
Prova la stessa cosa in C++
 
A100:
Prova la stessa cosa in C++

Cosa c'entra il C++?

....

Ho guardato il tuo codice più da vicino. Ti è sfuggito un errore: il valore di ritorno dell'operatore return dovrebbe essere scritto tra parentesi. return(0) ma avete scritto return 0;

 
Vitalii Ananev:

Cosa c'entra il C++?

Inoltre, C++ agisce come un certo modello in questo caso.
Vitalii Ananev:

Ho guardato il tuo codice più da vicino. Ti è sfuggito un errore - il valore di ritorno dell'operatore di ritorno dovrebbe essere scritto tra parentesi. return(0) ma avete scritto return 0;

Perché ci sono parentesi inutili?
 
A100:
Mentre C++ agisce come riferimento in questo caso

Quindi scrivi in C++ e compili tutto in mql?

Perché le parentesi extra?

Questa è la sintassi del linguaggio mql.

 
Vitalii Ananev:

Quindi scrivi in C++ e compili tutto in mql?

Questa è la sintassi del linguaggio mql.

Potete restituire un valore senza parentesi. Provate a farlo.
 
Artyom Trishkin:
Potete restituire un valore senza parentesi. Provate a farlo.
Sì, compila, ma lo scrivo sempre con le parentesi. È già un'abitudine che è diventata una regola.
 
Vitalii Ananev:

Quindi scrivi in C++ e compili tutto in mql?

Questa è la sintassi del linguaggio mql.

Sei venuto da noi dal lontano passato? )
Motivazione: