2014-01-27 44 views
0

在下面的代码为什么,如果我的休闲区const盈的Data我得到的错误error C2662: 'double Data::getValue(const int,const int)' : cannot convert 'this' pointer from 'const Data' to 'Data &'为什么const不能用于对象参数的前面?

bool Data::equal(Data &aabb) 
{ 
    for (int i = 0; i < MAX_ROWS; i++){ 
     for (int j = 0; j < MAX_COLUMNS; j++){ 
      if (aabb.getValue(i, j) != m[i][j]) 
       return false; 
     } 
    } 
    return true; 
} 
+1

您已经定义了'getvalue'方法,它要求对象是可变的。 – user2357112

回答

3

听起来好像是没有Data::getValue(int, int) const功能。您应该将您现有的getValue函数更改为const(注意,const必须在后加上的右括号),否则请添加const过载。

+0

如果在参数括号后有'const'参数, 'getValue(int,int)const'? – Celeritas

+0

这意味着该函数可以通过'const'引用来调用。具体来说,它使'this'成为该函数上下文中的一个const指针。 –

+0

什么是常量引用?顺便说一句,我得到了我的代码工作谢谢,只是想了解 – Celeritas

相关问题