컴파일러 오류 C2561
'identifier': 함수는 값을 반환해야 합니다.
함수가 값을 반환하는 것으로 선언되었지만 함수 정의에 문이 포함되어 return
있지 않습니다.
이 오류는 잘못된 함수 프로토타입으로 인해 발생할 수 있습니다.
함수가 값을 반환하지 않으면 반환 형식 void를 사용하여 함수를 선언합니다.
함수의 가능한 모든 분기가 프로토타입에 선언된 형식의 값을 반환했는지 확인합니다.
레지스터에 반환 값을 저장하는 인라인 어셈블리 루틴을 포함하는 C++ 함수에는
AX
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);
}