Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[2025] Re:질문있습니다~~~~
pd [] 1325 읽음    2003-02-25 10:03
저도 잘모릅니다.
그러나 제가봤을땐. 리턴문이 하나밖에 없어서 그런거같아영.
메인에서 정작 루틴문안에는 리턴이있는데 메인의 끝에 리턴문이 없습니다.
메인의 리턴문은 int형인데 정작 메인이 정상종료되어을땐 리턴이 없고
루틴내부에 리턴문이있다고 하는데영

warning C4715: 'main' : not all control paths return a value

음.. 이문장이 뭘의미하는지 모르지만.. 여튼 제짧은 식견으로는 그렇게 보입니다.
그렇기때문에 결론은 메인이 정상종료되었을때도 리턴을 해달라는겁니다.
리턴문써야할상황에서 안써도 된다면 대부분의 컴파일러는 워닝을 줄껍니다.
그런데 안써야할상황(void)에서 쓰면..에러뜨지않낭? 안해봐서 잘몰겠습니다.

아래 로터스님꺼 소스에 한줄수정해놨습니다. 잘보세영. 리턴문만 딸랑있음됩니다.

그럼..


로터스 님이 쓰신 글 :
: 아래는 간단한 파일 크기 체크 프로그램인데요...
: 한번 봐주세요...
:
: --------------------------------------------------------
:
: #include <stdio.h>
:
: #define MAX_LINE_LEN       127
: #define ERR_FILE_NOT_FOUND 2
:
: long GetFileSize(FILE *fp);
:
: int main(void)
: {
:     FILE *fp;
:     char fileName[MAX_LINE_LEN + 1];
:
:     while(1)
:     {
:         printf("\nEnter file name : ");
:         gets(fileName);
:         if(fileName[0] == '\0')
:             break;
:
:         if((fp = fopen(fileName, "wb")) == NULL)
:         {
:             printf("\n File open Error! \"%s\" \n", fileName);
:                            return ERR_FILE_NOT_FOUND;
:         }
:         else
:         {
:             printf("File size is %d", GetFileSize(fp));
:             fclose(fp);
:         }
:     }
     return ;
: }
:
: long GetFileSize(FILE *fp)
: {
:     long oldFilePos, fileSize;
:
:     oldFilePos = ftell(fp);
:     fseek(fp, 0L, SEEK_END); /* 파일 포인터를 파일 끝으로 이동 */
:     fileSize = ftell(fp); /* 현재 파일 포인터 값을 구한다 */
:     fseek(fp, oldFilePos, SEEK_SET); /* 원래 파일 포인터 위치로 이동 */
:
:     return fileSize;
: }
:
: --------------------------------------------------------
:
: 여기에서요
:
: if((fp = fopen(fileName, "wb")) == NULL)
:         {
:             printf("\n File open Error! \"%s\" \n", fileName);
:                            return ERR_FILE_NOT_FOUND;
:         }
:
: 이 return 때문에 warning이 나거든요?
: 삭제하면 없어지구요..
: 왜 리턴값을 빼야 되는건지 잘 이해가 안가네요...
: 있어도 상관 없는게 아닐지...
:
: 도움 부탁드립니다~~

+ -

관련 글 리스트
2023 질문있습니다~~~~ 로터스 1296 2003/02/25
2025     Re:질문있습니다~~~~ pd 1325 2003/02/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.