Errores, fallos, preguntas - página 1643

 
A100:

Error de compilación: ')'. - no todas las vías de control devuelven un valor

No tienes todas las ramas del código que devuelven un valor:

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 así:

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

No tienes todas las ramas del código que devuelven un valor.

En su ejemplo, todos lo hacen. Sólo se puede salir de while(true) con break (que no tiene) o return.
 
Sergei Vladimirov:
En el ejemplo que pone, todos. La única forma de salir de while(true) es con break (que no tiene) o return.
No voy a discutir. Pero el mensaje de error del compilador ')' - no todas las rutas de control devuelven un valor, dice lo contrario.
 
Vitalii Ananev:
No voy a discutir. Pero el mensaje de error del compilador ')' - no todas las rutas de control devuelven un valor, dice lo contrario.
Pruebe lo mismo en C++
 
A100:
Pruebe lo mismo en C++

¿Qué tiene que ver C++ con esto?

....

He mirado su código más de cerca. Se te ha escapado un error: el valor de retorno por el operador return debería escribirse entre paréntesis. return(0) pero has escrito return 0;

 
Vitalii Ananev:

¿Qué tiene que ver C++ con esto?

Además, C++ actúa como un modelo determinado en este caso.
Vitalii Ananev:

He mirado su código más de cerca. Se te ha escapado un error: el valor de retorno por operador de retorno debería escribirse entre paréntesis. return(0) pero has escrito return 0;

Pero, ¿por qué hay paréntesis innecesarios?
 
A100:
Mientras que C++ actúa como referencia en este caso

¿Así que escribes en C++ y lo compilas todo en mql?

¿Por qué los paréntesis adicionales?

Esta es la sintaxis del lenguaje mql.

 
Vitalii Ananev:

¿Así que escribes en C++ y lo compilas todo en mql?

Esta es la sintaxis del lenguaje mql.

Puede devolver un valor sin paréntesis. Pruébalo.
 
Artyom Trishkin:
Puede devolver un valor sin paréntesis. Pruébalo.
Sí, se compila, pero siempre lo escribo con paréntesis. Ya es un hábito que se ha convertido en una norma.
 
Vitalii Ananev:

¿Así que escribes en C++ y lo compilas todo en mql?

Esta es la sintaxis del lenguaje mql.

¿Has venido a nosotros desde el pasado lejano? )
Razón de la queja: