2013-03-30 45 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; 
}; 

出力リレーは次のとおりです。

"エラーC2061:構文エラー:識別子 'BieuThucHang'"

これを修正するには?

答えて

33

ヘッダーファイルの循環依存関係があります。また、

class BieuThucHang; 

XuatChuoiBTHang.hから#include "BieuThucHang.h"を削除:あなたはXuatChuoiBTHang.hで前方宣言を使用して することにより、この円形含める依存性を破るする必要があります。

+2

他の人が別の回答を投稿する前に、循環依存について教えてください。 –

+0

彼はヘッダー・クアードニアンを使用しなければならないと教えてください:) – duDE

+0

ええ、私は循環依存について何かを提案できますか? 非常にありがとう! – DungLe

関連する問題