这是我的C++代码
// 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;
};
Run Code Online (Sandbox Code Playgroud)
输出是:
"错误C2061:语法错误:标识符'BieuThucHang'"
怎么解决?
Alo*_*ave 38
您有头文件的循环依赖.您需要通过在XuatChuoiBTHang.h以下位置使用前向声明来打破此循环包含依赖项:
class BieuThucHang;
Run Code Online (Sandbox Code Playgroud)
另外,#include "BieuThucHang.h"从中删除XuatChuoiBTHang.h.