このヘッダー ファイル「pathfinding.h」を含めると、次のようになります。
#pragma once
#include <BWAPI.h>
#include "BWAPI/TilePosition.h"
#include <vector>
#include "PathNode.h"
#include "Logger.h"
#include "ArgosMap.h"
#include "MapField.h"
#include "Utils.h"
#include "ComparePathNodePointer.h"
using namespace BWAPI;
class Pathfinding {
private:
std::vector<PathNode*> openList;
std::vector<PathNode*> closedList;
std::vector<Position*> buildpath(PathNode* targetNode);
void expandNode(PathNode* currentNode, MapField* targetField);
ArgosMap* argosMap;
public:
Pathfinding();
~Pathfinding();
std::vector<Position*> getShortestPath(MapField* startField, MapField* targetField);
};
このヘッダー ファイル「UnitAgent.h」では、次のようになります。
#pragma once
#include <BWAPI.h>
#include <vector>
#include "ArgosMap.h"
#include "Pathfinding.h"
using namespace BWAPI;
class UnitAgent {
protected:
Unit* unit;
UnitType unitType;
int unitID;
std::vector<Position*> trail;
Position target;
public:
UnitAgent(Unit* unit);
std::vector<Position*> getTrail();
Position getTarget();
Position* getPosition();
int getUnitID();
void setTarget(Position target);
void addPositionToTrail(Position* targetLocation);
void moveTo(TilePosition* targetPosition);
};
私は百万のエラーのように、ほとんどがエラー C2143、C2065 を取得します。しかし、それは真実ではありません。エラーは存在しません。ヘッダーファイルを別のファイルに含めると、すべて問題ありません(特定のヘッダーファイルを必要とするものを除いて)。
私がチェックすべきアイデア。Eclipse が Java コードをチェックする方法で、C++ コードをチェックする方法を考えている人。つまり、なぜVisual Studioはそれをしないのですか?