Compilerfehler C2561

'Bezeichner': Funktion muss einen Wert zurückgeben

Die Funktion wurde mit Rückgabetyp deklariert, die Funktionsdefinition enthält jedoch keine return-Anweisung.

Dieser Fehler kann durch einen falschen Funktionsprototyp verursacht werden:

  1. Wenn die Funktion keinen Wert zurückgibt, muss sie mit dem Rückgabetyp void deklariert werden.

  2. Stellen Sie sicher, dass alle möglichen Ebenen der Funktion einen Wert zurückgeben, dessen Typ mit dem im Prototyp deklarierten Typ übereinstimmt.

  3. C++-Funktionen mit Inlineassemblerroutinen, in denen der Rückgabewert im AX-Register gespeichert wird, erfordern möglicherweise eine return-Anweisung.Kopieren Sie den in AX enthaltenen Wert in eine temporäre Variable, und lassen Sie diese Variable von der Funktion zurückgeben.

Im folgenden Beispiel wird C2561 generiert:

// C2561.cpp
int Test(int x) {
   if (x) {
      return;   // C2561
      // try the following line instead
      // return 1;
   }
   return 0;
}

int main() {
   Test(1);
}