Condividi tramite


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:

  1. Se la funzione non restituisce un valore, dichiarare la funzione con tipo restituito void.

  2. Verificare che tutti i possibili rami della funzione restituisca un valore del tipo dichiarato nel prototipo.

  3. 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 in AX 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);
}