2013-03-30 135 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

你有一個循環依賴的頭文件。您需要通過 使用預先聲明打破XuatChuoiBTHang.h這個夾雜依賴性:

class BieuThucHang; 

此外,從XuatChuoiBTHang.h刪除#include "BieuThucHang.h"

+2

在別人發佈其他答案之前告訴他關於循環依賴的信息。 –

+0

告訴他他應該使用標題quardian以及:) – duDE

+0

是的,你能告訴我一些關於循環依賴的東西嗎? 非常感謝你! – DungLe

相關問題