我写了两个课,Agent并且Timing.第三类将包含该main()功能并对其进行管理.目标是创建n个实例Agent和一个SINGLE实例Timing.重要的是要提到Agent使用Timing字段和Timing使用Agent函数.我怎么能拒绝Timing给独居?
//Agent.h
#ifndef Timing_h
#define Timing_h
#include <string>
#include "Timing.h"
class Agent{
public:
Agent(std::string agentName);
void SetNextAgent(Agent* nextAgent);
Agent* GetNextAgent();
void SendMessage();
void RecieveMessage(double val);
// static Timing runTime;
Run Code Online (Sandbox Code Playgroud)
我认为可以解决我的问题,但我得到了:
'Timing'没有命名类型
~Agent();
private:
std::string _agentName;
double _pID;
double _mID;
Agent* _nextAgent;
};
#endif
//Timing.h
#ifndef Timing_h
#define Timing_h
class Timing{
private:
typedef struct Message{
Agent* _agent;
double _id;
}Message;
typedef Message* MessageP;
Message** _messageArr;
static int _messagesCount;
public:
Timing();
void AddMessage(Agent* agent, double id);
void LeaderElected(string name);
void RunTillWinnerElected();
~Timing();
};
#endif
Run Code Online (Sandbox Code Playgroud)
这真的是创建单身的方式,如果它是什么问题?如果没有,我怎么能把它变成单身?
Vit*_*con 10
这个位在Agent.h中看起来很可疑......
#ifndef Timing_h
#define Timing_h
Run Code Online (Sandbox Code Playgroud)
好像它与Timing.h中的定义守护相同.因此,时间不会包含在代理中.
将其更改为
#ifndef Agent_h
#define Agent_h
Run Code Online (Sandbox Code Playgroud)