컴파일러 오류 C2534
'identifier': 생성자가 값을 반환할 수 없습니다.
식에 형식void
이 return
있더라도 생성자는 식이 있는 문을 포함할 수 없습니다. 형식의 void
반환 식이 허용되는 일반 void 반환 함수와 다릅니다. 그러나 식 없이 문을 사용하면 return
생성자의 초기 반환이 허용됩니다.
다음 샘플에서는 C2534를 생성합니다.
// C2534.cpp
// compile with: /c
void void_func() {}
class A {
public:
int i;
A() {
return i; // C2534
return 123; // C2534
return (void)0; // C2534
return void_func(); // C2534
return; // OK
}
};
앞의 오류는 전체 return
문을 제거하거나 초기 반환이 필요한 경우 반환 식을 생략하여 수정할 수 있습니다.