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
[16299] Re:[질문]도저히 알수 없는 include에러입니다.
^^ [] 933 읽음    2002-03-13 21:18
Tbbb class 내에 Taaaa에 대한 정의가 있고, Taaaa class 내에 Tbbb의 정의가 존재합니다. 컴파일러는 Tbbb 클래스를 해석하다가 Taaa클래스를 만나면 다시 이를 해석하려고 하는데, 내부에 아직 해석되어지지 않은 Tbbb가 있으므로 해석할 수 없는 상황이 되는 것입니다.
아래 컴파일되도록 고친 것입니다. 이런 구조는 상당히 위험한 구조입니다. 이 class를 이용할 경우, 초기화를 잘못하면 여러가지 문제를 야기시킬 수 있는 형태입니다. 가능하면 이런 구조는 피하는 것이 좋습니다.



이놈은 Unit3.h라는 파일로 저장되어있슴다.

#include "Unit2.h"
//---------------------------------------------------------------------------
class Tbbb
{
private:

protected:

public:
        class Taaaa * a; // 이부분 수정

};  


이놈은 Unit2.h라는 파일로 저장되어있슴다.

#include "Unit3.h"
//---------------------------------------------------------------------------
class Taaaa
{
private:

protected:
       class Tbbb * a; // 이부분 수정
public:

};




행인1 님이 쓰신 글 :
: 아주 간단한 문제인데 제가 헤메고 있다는 생각이 듭니다.
: Class를 아래와 같이 두개를 선언했습니다.
: 서로 클래스를 public에 선언했습니다. 그리고 컴파일을 하면 둘다 public에 선언한
: 상대 클래스의 포인터에서 "Type name Expected"라는 syntex에러를 냅니다. 도저히 이유를
: 알수가 없습니다. 도데체 무슨 이유인지.. 원래 이렇게 하면 되야하는것 아닌지요..
: 아예 프로젝트파일 통째로 올려봅니다. 해결책을 알려주시면 감사하겠습니다.
:
:
: 이놈은 Unit3.h라는 파일로 저장되어있슴다.
:
: #include "Unit2.h"
: //---------------------------------------------------------------------------
: class Tbbb
: {
: private:
:
: protected:
:
: public:
:        Taaaa * a
:
: };  
:
:
: 이놈은 Unit2.h라는 파일로 저장되어있슴다.
:
: #include "Unit3.h"
: //---------------------------------------------------------------------------
: class Taaaa
: {
: private:
:
: protected:
:       Tbbb * a;
: public:
:
: };

+ -

관련 글 리스트
16296 [질문]도저히 알수 없는 include에러입니다. 행인1 1045 2002/03/13
16313     Re: Circular Reference Falco 1323 2002/03/14
16299     Re:[질문]도저히 알수 없는 include에러입니다. ^^ 933 2002/03/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.