Подтвердить что ты не робот

Ошибка 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'"

Как это исправить?

4b9b3361

Ответ 1

У вас есть круговая зависимость файлов заголовков. Вы должны разбить эту циклическую зависимость включения на используя объявление вперед в XuatChuoiBTHang.h:

class BieuThucHang;

Также удалите #include "BieuThucHang.h" из XuatChuoiBTHang.h.