Errore del compilatore C2561
'identifier': la funzione deve restituire un valore
La funzione è stata dichiarata come restituzione di un valore, ma la definizione della funzione non contiene un'istruzione return
.
Questo errore può essere causato da un prototipo di funzione non corretto:
Se la funzione non restituisce un valore, dichiarare la funzione con tipo restituito void.
Verificare che tutti i possibili rami della funzione restituisca un valore del tipo dichiarato nel prototipo.
Le funzioni C++ contenenti routine di assembly inline che archiviano il valore restituito nel
AX
registro potrebbero richiedere un'istruzione return. Copiare il valore in inAX
una variabile temporanea e restituire tale variabile dalla funzione .
L'esempio seguente genera l'errore C2561:
// C2561.cpp
int Test(int x) {
if (x) {
return; // C2561
// try the following line instead
// return 1;
}
return 0;
}
int main() {
Test(1);
}