gpt4 book ai didi

C++ 不命名为类型

转载 作者:行者123 更新时间:2023-11-27 22:30:00 25 4
gpt4 key购买 nike

这可能是一个简单的问题,但我不明白为什么编译器会给我这个错误。我有两个类(class)。代理和环境。当我尝试在我的环境类中添加 Agent 类型的对象时,出现 Agent does not name to type 错误。我在我的 Environment.h 类中包含了 Agent.h

#ifndef AGENT_H_INCLUDED
#define AGENT_H_INCLUDED

#include <vector>
#include <iostream>
#include "Environment.h"

using namespace std;

class Agent{
public:
Agent(bool s);
vector<int> getPercept();
void setPercept(vector<int> p);
void goForward();
void turnRight();
void turnLeft();
void clean();
void paint();
void refuel();
bool needsRefuel();
void turnOn();
void turnOff();
bool isActive();
void move();
int getCurX();
int getCurY();
char getCurDir();
void setCurrentPosition(int x, int y, char d);


private:
vector<int> percept;
int actions;
int performance;
char direction;
bool isOn;
int curX;
int curY;
char curDir;
};

#endif // AGENT_H_INCLUDED

/************ *************/

#ifndef ENVIRONMENT_H_INCLUDED
#define ENVIRONMENT_H_INCLUDED

#include <vector>
#include <iostream>
#include "Agent.h"

using namespace std;


class Environment{
public:

Environment(vector<vector<char> > roomData);
Environment(vector<vector<char> > roomData, vector<int> status);
void setRoomData(vector<vector<char> > roomData);
bool isSimulationComplete();
void isAgentHome();
vector<int> sendLocationStatus();
void printEnvironment();
void setAgentHome(int x, int y);
vector<int> getAgentPercept();
void setAgentPercept(vector<int> status);
void setAgentPosition(int x, int y, char p);
vector<int> sendAgentPercept();
void calculateAgentPercept();


private:
vector<vector<char> > room;
vector<int> agentPercept;
bool simulationComplete;
int agentHomeX;
int agentHomeY;
int agentX;
int agentY;
char agentDir;
Agent agent; ////ERROR IS HERE
};

#endif // ENVIRONMENT_H_INCLUDED

最佳答案

您的 agent.h 包括 environment.h。 agent.h文件是按照从上到下的顺序解析的,所以在解析environment.h的时候,编译器并不知道什么是Agent。似乎没有理由在 agent.h 中包含 environment.h。

关于C++ 不命名为类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3846333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com