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

C/C++ Q/A
[6631] Re:Re:Re:Re:Re:멤버함수 중첩시키기에서 에러메세지...
Lyn [tohnokanna] 8402 읽음    2011-11-17 20:59
제눈엔 DrawShape 가 안보이네요. Rectangle::DrawShape 만 보이구요.

c장군 님이 쓰신 글 :
: 선언/정의가 안된 함수라고요.
:
: void DrawShape() const;
: void DrawShape(USHORT width , USHORT height) const;
:
: void Rectangle::DrawShape() const
: {
:      DrawShape(Width , Height);
: }

: void Rectangle::DrawShape(USHORT width , USHORT height) const
: {
:      for(USHORT i=0 ; i<height ; i++)
:      {
:          for(USHORT j=0 ; j<width ; j++)
:          {
:              cout << "*";
:          }
:          cout << "\n";
:      }
: }
: 이것은 함수 선언/정의가 아니라고요. 그럼 어떻게 해야 합니까? 워낙 제가 하수라서 무슨 말인지 모르겠습니다.
:
: Lyn 님이 쓰신 글 :
: : ... 선언/정의가 안된 함수를 호출하고 계시네요
: :
: : c장군 님이 쓰신 글 :
: : : 소스에 함수의 원형과 정의가 없는 것이 문제가 아니었습니다. 있었으니까요. 소스를 안보셨군요.
: : : 멤버함수의 반환형이 문제였습니다. 클래스 객체로 접근해야 하는 것도 있지요.
: : : theRect.DrawShape() 이렇게 말이지요.
: : : 반환형이 void일 때는 theRect가 Illegal structure(부정한 구조)라고 메세지가 나옵니다.
: : : void가 아니어야 합니다.
: : :   
: : : Intotheblue 님이 쓰신 글 :
: : : : 함수 부분을 이해를 못하신거네요...
: : : : 사실 에러 메세지에 설명이 다 나와 있는건데..
: : : :
: : : : 책에서..
: : : : 함수 부분에서 프로토 타입 or 함수 원형에 대해서 찾아보세요..
: : : :
: : : : c장군 님이 쓰신 글 :
: : : : : 소스는 인포북에 있는 것이고요. 그런데, 컴파일러는 에러메세지를 냅니다.
: : : : : 소스는 다음과 같습니다.
: : : : : #include <iostream.h>
: : : : : typedef unsigned short int USHORT;
: : : : :
: : : : : class Rectangle
: : : : : {
: : : : :     public:
: : : : :         Rectangle(USHORT width , USHORT height);
: : : : :         ~Rectangle(){}
: : : : :
: : : : :         void DrawShape() const;
: : : : :         void DrawShape(USHORT width , USHORT height) const;
: : : : :
: : : : :     private:
: : : : :         USHORT Width;
: : : : :         USHORT Height;
: : : : : };
: : : : :
: : : : : Rectangle::Rectangle(USHORT width , USHORT height)
: : : : : {
: : : : :     Width = width;
: : : : :     Height = height;
: : : : : }
: : : : :
: : : : : void Rectangle::DrawShape() const
: : : : : {
: : : : :     DrawShape(Width , Height);
: : : : : }
: : : : :
: : : : : void Rectangle::DrawShape(USHORT width , USHORT height) const
: : : : : {
: : : : :     for(USHORT i=0 ; i<height ; i++)
: : : : :     {
: : : : :         for(USHORT j=0 ; j<width ; j++)
: : : : :         {
: : : : :             cout << "*";
: : : : :         }
: : : : :         cout << "\n";
: : : : :     }
: : : : : }
: : : : :
: : : : : void main()
: : : : : {
: : : : :     Rectangle theRect(30,5);
: : : : :
: : : : :     cout << "DrawShape()\n" << DrawShape() << endl;
: : : : :
: : : : :     cout << "\nDrawShape(40,2)\n" << DrawShape(40,2) << endl;
: : : : : }
: : : : : 에서 컴파일 에러메세지는
: : : : : Error : Function "DrawShape" should have a prototype.
: : : : : 이라고 출력됩니다.
: : : : : 어디서 무엇이 문제인지 좀 어렵네요.

+ -

관련 글 리스트
6622 멤버함수 중첩시키기에서 에러메세지... c장군 10064 2011/11/16
6624     Re:멤버함수 중첩시키기에서 에러메세지... Intotheblue 10453 2011/11/16
6625         Re:Re:멤버함수 중첩시키기에서 에러메세지... c장군 9235 2011/11/16
6627             Re:Re:Re:멤버함수 중첩시키기에서 에러메세지... 신성기 17260 2011/11/17
6628                 Re:Re:Re:Re:멤버함수 중첩시키기에서 에러메세지... c장군 12138 2011/11/17
6626             Re:Re:Re:멤버함수 중첩시키기에서 에러메세지... Lyn 10462 2011/11/16
6630                 Re:Re:Re:Re:멤버함수 중첩시키기에서 에러메세지... c장군 12417 2011/11/17
6631                     Re:Re:Re:Re:Re:멤버함수 중첩시키기에서 에러메세지... Lyn 8402 2011/11/17
6632                         Re:Re:Re:Re:Re:Re:멤버함수 중첩시키기에서 에러메세지... c장군 10658 2011/11/17
6633                             Re:Re:Re:Re:Re:Re:Re:멤버함수 중첩시키기에서 에러메세지... Lyn 12282 2011/11/17
6635                                 멤버함수 중첩시키기에서 에러메세지...(Lyn님 감사합니다.) c장군 10847 2011/11/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.