我有这两个功能
bool checkIfPlayerWon(const F &field){
return checkIfPlayerWon(field, player);
}
bool checkIfPlayerWon(const F &field, int current_player){
播放器是我班级的成员。
现在我主要打电话给
if(human_player.help.checkIfPlayerWon(my_field))
和
if(pc_player.help.checkIfPlayerWon(my_field))
现在一切都编好了,程序按预期工作。但eclipse给了我警告,函数checkIfPlayerWon
是暧昧的,然后告诉我:
'checkIfPlayerWon' is ambiguous '
Candidates are:
bool checkIfPlayerWon(const playfield &)
bool checkIfPlayerWon(const playfield &, int)
'
为什么eclipse这样做?很明显它应该调用第一个函数,因为它只有一个参数。 gcc编译器得到它,但为什么不eclipse?
答案 0 :(得分:0)
我不知道如何让 Eclipse 找出您想要的重载函数,但模棱两可的警告很容易关闭,而无需禁用整个 C++ 解析器。
进入Window->Preferences->C/C++->Cody Analysis,在搜索标签里写ambiguous。然后它会让你关闭警告。