為了制作兩個物件Player1
和Player2
,一個Player
發送和接收訊息的類,我實作了一個阻塞佇列來同步訊息。這是我使用的代碼:
#include <iostream>
using namespace std;
class Msg
{
public:
Player* sender;
};
template <typename T>
class BlockingQueue
{
public:
void push(const T& val)
{}
T pop()
{}
};
class Player
{
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
你能幫我解決這個問題嗎?
uj5u.com熱心網友回復:
您必須在訊息之前添加播放器的前向宣告
class Player; <<<<=====
class Message
{
public:
Player* sender ;
std::string text;
};
請參閱此處以獲取解釋什么是 C 中的前向宣告?
是的 - 它應該是 std::string
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/469961.html