这段代码的问题,我采取上述错误?错误:在'。'之前预期的初级表达式令牌
TIA
#include"PositionInfo.h"
bool DecisionTree::Decision(Agent & agent) {
PositionInfo Player_position;
double metr=Player_position.GetBallDistToTeammate(5);
if (agent.GetSelf().IsKickable()) {
Kicker::instance().KickBall(agent,agent.GetWorldState().GetTeammate(5).GetPos(),metr);
}
}
我现在改变了代码,我得到这个错误:
错误:调用没有匹配的函数 'PositionInfo :: PositionInfo()'
编辑:
根据johnsyweb回应:
class Positi onInfo我们有这样的:
PositionInfo(WorldState *pWorldState, InfoState *pInfoState);
我把它像这样在DecisionTree:
PositionInfo Player_position(WorldState *pWorldState, InfoState *pInfoState);
double met=Player_position//but here IDE doesnt let me to put GetBallDistToTeammate()
您需要*阅读''PositionInfo.h''中的代码*以找出PositionInfo的构造函数的参数并提供这些参数,按照我的答案。 – Johnsyweb 2011-03-22 10:54:08
'PositionInfo Player_position(WorldState * pWorldState,InfoState * pInfoState);'是不正确的语法。你需要在这里传递指向有效对象的指针(假设'PositionInfo Player_position(NULL,NULL);'将不会产生任何有用的结果 – Johnsyweb 2011-03-22 11:42:44