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

C++빌더 Q&A
C++Builder Programming Q&A
[57166] Re:Re:Re:Re:Re:return 에러 문의
김진호.불사새 [phenix96] 900 읽음    2009-06-08 14:19
해당 함수에서 return값의 구분이 꼭 필요한건가요?

아래 함수는 message에 따라 불리우는 call back함수 이기에, 사용자가 직접 호출을 할 일이 없을듯 한데요...

꼭 return값의 구분이 필요하다면, 간단하게는 새로 함수를 만들어서 Button1Click에서 그 함수를 호출하게 하시면 되겠네요.

아님 그냥 함수의 종료만을 원하신다면, return;만 쓰시면 될테구요. 아래 함수 구조에서는 그렇게 안해도 되겠지만.

void가 return으로 선언된 함수의 경우, return; 으로 사용하시면 됩니다.

retrun의 구분이 필요 하시다면, 이벤트, 메시지 같은걸 사용하시거나, 전역 변수로 하시거나..하는 여러가지 방법이 있을듯합니다.
강아지 님이 쓰신 글 :
: 그럼 어떻게 해야 할까요?
:
:
:
: Lyn 님이 쓰신 글 :
: : void 함수는 값을 리턴 할 수 없습니다.
: :
: : 강아지 님이 쓰신 글 :
: : : [C++ Error] SDIMAIN.CPP(69): E2467 '_fastcall TSDIAppForm::Button1Click(TObject *)' cannot return a value
: : : [C++ Warning] SDIMAIN.CPP(94): W8004 'bCreated' is assigned a value that is never used
: : :
: : : 에러는 상기아 같이 납니다.
: : :
: : : 원문은 
: : : //---------------------------------------------------------------------
: : : #include <vcl.h>
: : : #include <odbcinst.h>
: : : #pragma hdrstop
: : : //    #include <stdafx.h>
: : : #pragma link "odbccp32.lib"
: : :
: : : #include "SDIMain.h"
: : : #include "About.h"
: : : #include "easybook.h"
: : :
: : :
: : :
: : : //---------------------------------------------------------------------
: : : #pragma resource "*.dfm"
: : :
: : : TSDIAppForm *SDIAppForm;
: : :
: : :
: : : void __fastcall TSDIAppForm::Button1Click(TObject *Sender)
: : : {
: : :     ganpyunjangbu->Show();
: : :
: : :
: : :         AnsiString m_strPath = ExtractFilePath(ParamStr(0));
: : :        
: : :     AnsiString strMainDBPath;
: : :     strMainDBPath = m_strPath +"\MainDB.mdb";
: : :
: : :     if (FileExists(strMainDBPath))
: : :     {
: : :         ShowMessage ("MainDB is Exists already!") ;
: : :                 return -1;
: : :     }
: : :
: : :     strMainDBPath = "CREATE_DB=\"" + strMainDBPath + "\" General\0";
: : :
: : :
: : :         ShowMessage (strMainDBPath.c_str()) ;
: : :
: : :
: : :         bool bCreated;
: : :         bCreated = SQLConfigDataSource(
: : :                         NULL,
: : :                           ODBC_ADD_DSN,
: : :                                         "Microsoft Access Driver (*.mdb)",
: : :                                         strMainDBPath.c_str()  //"CREATE_DB=c:\\Test.mdb General\0"
: : :                             );
: : :
: : :
: : :         if (bCreated == true)
: : :         {
: : :         return 0;
: : :         }
: : :     else return -2;
: : :
: : :
: : : }
: : : //---------------------------------------------------------------------------
: : :
: : :
: : :
: : : 김진호.불사새 님이 쓰신 글 :
: : : : 뭐라고 에러가 나는지요? 그걸 올려주시거나 에러를 자세히 보시면 다 답이 있습니다.
: : : :
: : : : 혹시 return하고자 하는 함수를 void로 선언 하신건 아닌지요.
: : : :
: : : : 강아지 님이 쓰신 글 :
: : : : : if (bCreated == true)
: : : : :         {
: : : : :         return 0;
: : : : :         }
: : : : :     else return -2;
: : : : :
: : : : :
: : : : : 프로그래밍 중
: : : : : 상기와 같이  return 문구가 이쓰면
: : : : : 계속 오류가 납니다.
: : : : : 이거 왜 이러져?
: : : : :
: : : : : 특별히 문제 없어 보이는데요?

+ -

관련 글 리스트
57151 return 에러 문의 강아지 825 2009/06/07
57156     Re:return 에러 문의 김진호.불사새 974 2009/06/07
57158         Re:Re:return 에러 문의 강아지 868 2009/06/07
57160                 Re:Re:Re:Re:return 에러 문의 강아지 929 2009/06/08
57167                     리턴값을 지우세요^^ 리턴값이 필요하시면 변수에 저장하세요~ 조대현.Clau 845 2009/06/08
57166                     Re:Re:Re:Re:Re:return 에러 문의 김진호.불사새 900 2009/06/08
57193                         Re:Re:Re:Re:Re:Re:return 에러 문의 강아지 1001 2009/06/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.