привет, ребята, у меня есть вопрос о моем маленьком проекте, когда я пытаюсь скомпилировать код ниже, я получаю ошибку, что один из моих классов не могу видеть другие, пожалуйста, помогите мне! Я думаю, что мне нужно немного исправить это. спасибо.Циркулярная зависимость классов
#ifndef CLIENT_H_
#define CLIENT_H_
#include <iostream>
#include <string>
#include <vector>
#include "Message.h"
#include "Server.h"
class Client
{
private:
Server* server;
string name;
vector<Message*> Messages;
public:
Client(string _name, Server* _server);
void printAllMessages();
void printUnreadedMessages();
bool sendMessage(string, string);
void reciveMessage(Message*);
string getName();
};
#endif
#ifndef SERVER_H_
#define SERVER_H_
#include "Client.h"
#include "Message.h"
#include <string>
#include <map>
class Server
{
private:
map<string,Client*> clients;
bool checkIfClientExist(string name);
public:
Server();
bool sendMessage(string,Message*);
void addClient(Client* toBeAdded);
void printAllClients();
};
#endif
В файле включены в client.h: 8: 0, из client.cpp: 1: server.h: 13: 13: ошибка: «Клиент» не был объявлен в этой области видимости карты клиентов; это полный код ошибки
В файле включены в client.h: 8: 0, из client.cpp: 1: server.h: 13: 13: ошибка: 'Клиент' не был объявлен в этой области видимости карте <строка, клиент * > клиентов; это полный код ошибки – user3216932
У вас есть круговая зависимость. Клиент включает сервер, который включает в себя клиент, который включает в себя сервер, который ... – Borgleader