Udostępnij za pomocą


Błąd kompilatora C2561

"identifier": funkcja musi zwrócić wartość

Uwagi

Funkcja została zadeklarowana jako zwracana wartość, ale definicja funkcji nie zawiera return instrukcji.

Ten błąd może być spowodowany przez nieprawidłowy prototyp funkcji:

  1. Jeśli funkcja nie zwraca wartości, zadeklaruj funkcję z zwracanym typem void.

  2. Sprawdź, czy wszystkie możliwe gałęzie funkcji zwracają wartość typu zadeklarowanego w prototypie.

  3. Funkcje języka C++ zawierające procedury wbudowanych zestawów, które przechowują wartość zwracaną w rejestrze AX , mogą wymagać instrukcji return. Skopiuj wartość do AX zmiennej tymczasowej i zwróć tę zmienną z funkcji.

Example

Poniższy przykład generuje C2561:

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

int main() {
   Test(1);
}