로 돌아 참조 나는 warning: returning reference to temporary
를 얻을이경고 :
const string &SomeClass::Foo(int Value)
{
if (Value < 0 or Value > 10)
return "";
else
return SomeClass::StaticMember[i];
}
같은 기능을 가지고있다. 왜 그런가요? 함수가 리턴하는 두 값 (const char *에 대한 참조 및 정적 멤버에 대한 참조)은 일시적 일 수 없다고 생각했습니다.
좋은 대답입니다! 여기에 왜 C++은 요즘 프로그래밍 문제에 좋은 선택이 아니라고 생각합니다. 그것은 당신이 손에서 문제에 집중하는 것을 선호 할 때 당신의 내부 작업을 돌보는 데 시간을 소비 할 것입니다. –
@ 루이스 (Luis) : 언급할만한 모든 언어에는이 코너 케이스가 있습니다. –
변환이 * 여기 * 원했던 것 같습니다! : P 값으로 반환하기로 변경하면 const도 삭제해야합니다. –