2011-03-19 295 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

相關問題