Error del compilador C2561
'identificador': la función debe devolver un valor
La función se ha declarado como que devuelve un valor, pero la definición de la función no contiene una instrucción return
.
Este error puede deberse a un prototipo de función incorrecto:
Si la función no devuelve ningún valor, declárela con el tipo de valor devuelto void.
Compruebe que todas las ramas posibles de la función devuelven un valor del tipo declarado en el prototipo.
Las funciones de C++ que contienen rutinas de ensamblado insertadas que almacenan el valor devuelto en el registro
AX
pueden necesitar una instrucción return. Copie el valor enAX
en una variable temporal y devuelva esa variable desde la función.
El ejemplo siguiente genera el error C2561:
// C2561.cpp
int Test(int x) {
if (x) {
return; // C2561
// try the following line instead
// return 1;
}
return 0;
}
int main() {
Test(1);
}