Возникает ошибка при подключении заголовочных файлов с++
У меня есть 2 класса Desk и ChessFigure, ошибка возникает, при подключении их заголовочных файлов друг к другу ------1 заголовочный файл -------
#pragma once
#include "ChessFigure.h"
class Desk{
ChessFigure* desk[8][8];
public:
void AddFig(int x, int y, ChessFigure *fig);
void RemoveFig(int x, int y);
ChessFigure* GetFigure(int x, int y);
Desk();
};
----- второй заголовочный файл-----
#pragma once
#include <string>
#include "Desk.h"
class ChessFigure{
protected:
std::string name;
bool color;
bool life;
int weight;
struct Coordinates {
int x;
int y;
};
virtual bool CheckMove(int x, int y);
void Kill(ChessFigure* figure);
virtual bool IsOnAWay(int x, int y)=0;
Coordinates* coord = new Coordinates;
ChessFigure* figure;
public:
void SetXY(int x, int y);
int GetX();
int GetY();
int GetWeight();
bool GetColor();
bool GetLife();
void SetColor(bool color);
virtual void Move(int x, int y) = 0;
ChessFigure();
ChessFigure* GetFigure(int x, int y);
};
если я в одном из файлов убираю подключение другого программа компилируется

Ответы (1 шт):
Автор решения: dIm0n
→ Ссылка
Уберите из ChessFigure.h #include "Desk.h", потому что в заголовочном файле ChessFigure.h он не нужен. Иначе они друг друга включают и поэтому происходит ошибка.