は、私は次のようなクラスを作成したC++クラスmain.cppを持っている:C++コンパイルエラー:(関数パラメータのための)未定義の識別子
class MapSearchNode
{
public:
unsigned int x; // the (x,y) positions of the node
unsigned int y;
MapSearchNode() { x = y = 0; }
MapSearchNode(unsigned int px, unsigned int py) { x=px; y=py; }
float goalDistance(MapSearchNode &nodeGoal);
};
float MapSearchNode::goalDistance(MapSearchNode &nodeGoal)
{
float xd = fabs(float(((float)x - (float)nodeGoal.x)));
float yd = fabs(float(((float)y - (float)nodeGoal.y)));
return xd + yd;
}
int main{
//treatment
}
をそして、それが正常に動作しますが、その後、私は区切るたかったですMyClassクラス、私はMyClass.hとMyClass.cppを作成し、以下のようなコードを区切り:
MyClass.h
#ifndef _MAPSEARCHNODE_H
#define _MAPSEARCHNODE_H
class MapSearchNode
{
public:
MapSearchNode();
MapSearchNode(unsigned int px, unsigned int py);
public:
unsigned int x;
unsigned int y;
float goalDistance(MapSearchNode &goalNode);
};
#endif
MyClass.cpp
#include "MapSearchNode.h"
MapSearchNode::MapSearchNode():x(0), y(0))
{}
MapSearchNode::MapSearchNode(unsigned int px, unsigned int py):x(px), y(py)
{}
float MapSearchNode::goalDistance(MapSearchNode &goalNode){
float xDistance = fabs(float(((float)x - (float)goalNode.x)));
float yDistance = fabs(float(((float)y - (float)goalNode.y)));
return xDistance + yDistance;
}
バール私はエラーを持ってコンパイルしよう:
Undefined identifier goalNode;
//for the function goalDistance
誰かが、なぜ私はこのエラーを取得し、どのようにそれを修正することになっている私に説明していただけます。
編集:今は何も忘れていないことを願っています。
EDIT: 降格者には大変感謝しています。私たちの中には、あなたのようなエキスパートがいない人もいますし、小さな人でもエラーを見るのは難しいです!
最も明白な1:
float MyClass :: Calculate(MyCass&myClass) - MyCassはMyClassである必要がありますか? – diggingforfire
あなたのスペルを確認してください... –
@diggingforfireええ、ごめんなさい – Anila