Чтобы сделать два объекта, User1
и User2
, класса User
, отправляющих и получающих сообщения,
#include <iostream>
using namespace std;
class reply
{
public:
User* sender;
};
class User
{
BlockingQueue<Message > queue;
public:
void sendMessage()
{
};
void run()
{ //......
}
};
В классе Player
я получаю сообщение об ошибке, указывающее, что Player* sender
не является членом класса Message
!
И в классе Message
я получаю эту ошибку:
Severity Code Description Project File Line Suppression State
Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int
Не могли бы вы помочь мне с этим?
Наверное, тоже хочу std::string
, если где-то нет using namespace std;
, которого я не вижу.
@RetiredNinja это есть в моем коде! я просто забыл добавить сюда
Вы должны добавить предварительную декларацию игрока перед сообщением
class Player; <<<<=====
class Message
{
public:
Player* sender ;
std::string text;
};
см. здесь объяснение Что такое предварительные объявления в C++?
и да - это должно быть std::string
Используйте предварительное объявление
class Player;
передclass Message {