Erreur du compilateur C2561
'identifier' : la fonction doit retourner une valeur
La fonction a été déclarée comme retournant une valeur, mais la définition de la fonction ne contient pas d’instruction return
.
Cette erreur peut être due à un prototype de fonction incorrect :
Si la fonction ne retourne pas de valeur, déclarez la fonction avec le type de retour void.
Vérifiez que toutes les branches possibles de la fonction retournent une valeur du type déclaré dans le prototype.
Les fonctions C++ contenant des routines d’assembly inline qui stockent la valeur de retour dans le
AX
registre peuvent avoir besoin d’une instruction return. Copiez la valeur dansAX
une variable temporaire et retournez cette variable à partir de la fonction.
L’exemple suivant génère l’erreur C2561 :
// C2561.cpp
int Test(int x) {
if (x) {
return; // C2561
// try the following line instead
// return 1;
}
return 0;
}
int main() {
Test(1);
}