[질문] return의 기본값은 -1 인가요?

shint의 이미지

int fn_read()
{
}

int CTest::fn_open()
{
QFile open;
if(open)
{
//실패
return -1;
}
//성공
}

[ 궁금한것1 ]
fn_open()성공시 return값을 명시적으로 지정하지 않았을때.
프로그램마다 리턴값이 -1 or 1인 경우가 있었습니다.
return의 기본값.은 어떤 규칙에 의해서 값이 정해지나요?

[ 궁금한것2 ]
CTest::fn_open()에서 fn_read()사용시
파일데이터 읽기 및 경로지정.등에 처리순서문제가 발생할 수 있을까요?

M.W.Park의 이미지

1번은,
컴파일러 경고 났을 듯한데요,
명시적으로 정하지 않는다면, ret instruction를 만났을 때 (e)ax register 값이 return 값입니다.

2번은 무슨 말씀인지 이해가 잘안가네요.

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

shint의 이미지

말씀대로 경고가 있었네요;;;;;
..\test\glwidget.cpp:284: warning: control reaches end of non-void function

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com