2013-03-30 3 views
13

여기 내 C++ 코드오류 C2061 : 구문 오류 : 식별자

// XuatChuoiBTHang.h 
#pragma once 
#include "BieuThuc.h" 
#include "BieuThucHang.h" 

class XuatChuoiBTHang 
{ 
    public: 
     virtual string xuatChuoi(BieuThucHang* btHang) = 0;  
}; 

// BieuThucHang.h 
#pragma once 
#include "bieuthuc.h" 
#include "XuatChuoiBTHang.h" 

class BieuThucHang : public BieuThuc 
{ 
    private: 
     XuatChuoiBTHang* xuatChuoiBTHang; 
}; 

OUPUT은 다음과 같습니다

"오류 C2061 : 구문 오류 : 식별자 'BieuThucHang'"

어떻게 고칠 수 있습니까?

답변

33

헤더 파일의 순환 종속성이 있습니다. 당신은 XuatChuoiBTHang.h에 앞으로 선언을 사용 하여이 원형을 포함 의존성을 중단해야합니다

class BieuThucHang; 

는 또한, XuatChuoiBTHang.h에서 #include "BieuThucHang.h"를 제거합니다.

+2

다른 사람이 다른 답변을 게시하기 전에 순환 종속성에 대해 알려주십시오. –

+0

그에게 헤더 쿼디 안도 사용할 것을 말하십시오. – duDE

+0

예, 원형 종속성에 대해 나에게 제안 해 주시겠습니까? 대단히 감사합니다! – DungLe

관련 문제