コンパイラ エラー C2561
'identifier' : 関数は値を返さなければいけません
関数は値を返すように宣言されていますが、関数定義には return
ステートメントが含まれていません。
このエラーは、関数プロトタイプが正しくないことが原因で発生する可能性があります。
関数が値を返さない場合は、戻り値の型が void である関数を宣言します。
関数のすべての可能な分岐が、プロトタイプで宣言された型の値を返すことを確認します。
AX
レジスタに戻り値を格納するインライン アセンブリ ルーチンを含む C++ 関数には、return ステートメントが必要になる場合があります。AX
の値を一時変数にコピーし、関数からその変数を返します。
次の例では警告 C2561 が生成されます。
// C2561.cpp
int Test(int x) {
if (x) {
return; // C2561
// try the following line instead
// return 1;
}
return 0;
}
int main() {
Test(1);
}