2011-03-19 274 views
3

我想在另一个类中使用anothre类的方法,但是我在下面得到错误,最新的问题是什么? TIA错误:没有匹配函数调用

错误:调用 'PositionInfo :: PositionInfo()'

这里没有匹配的功能是我的代码:

PositionInfo Pos; 

double metr=Pos.GetBallDistToTeammate(5); 

和PositionInfo.h类:

PositionInfo(WorldState *pWorldState, InfoState *pInfoState); 

和PositionInfo.cpp类是:

const double & GetBallDistToTeammate(Unum unum) const { Assert(unum > 0); return GetBallDistToPlayer(unum); } 
+0

呃...你似乎忘记了你的问题的一些部分... – 2011-03-19 11:17:34

+0

我纠正了,sry – Arash 2011-03-19 11:21:53

+0

再次纠正,所以对不起 – Arash 2011-03-19 11:39:12

回答

2

缺省构造函数PositionInfo::PositionInfo() { /* code */}在您的cpp文件中缺失。

+1

而且,大概是在'PositionInfo.h'中。 – Johnsyweb 2011-03-19 12:04:26

+1

@Johnsyweb:YES – 2011-03-19 12:06:40

+0

但这通常不是问题,因为如果你自己没有定义一个,C++会自动为你定义默认构造函数。为什么在这种情况下不会发生这种情况? – HelloGoodbye 2013-09-24 12:14:31

2

error: no matching function for call to ‘PositionInfo::PositionInfo()’

这看起来像有人试图调用该类的默认构造函数,但编译器找不到一个。

+0

是!这是对的。 – Johnsyweb 2011-03-19 12:06:48

相关问题