【发布时间】:2018-04-10 15:38:24
【问题描述】:
这是我的代码:
bool State::operator==(const State& s) const
{
bool flag=true;
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(s.GetboardEl(i,j)!=board[i][j]){
flag=false;
}
}
}
return flag;
}
getBoardEl 是 State 类中的一个函数,它从 board(int[][]) 返回一个元素。即使我在括号({)之前使用 const 我也会收到此错误
:
错误:将 'const State' 作为 'int State::GetboardEl(int, int)' 的 'this' 参数传递会丢弃限定符 [-fpermissive]|
【问题讨论】:
-
显示完整代码...如果你不显示它,我们如何判断你是否正确调用
GetboardEl()? -
将
int State::GetboardEl(int, int)更改为int State::GetboardEl(int, int) const -
@PaulR 似乎工作了谢谢
-
@JJohnarios:太好了 - 确保您了解为什么需要
const,这样以后就不会再让您失望了。