2014-01-27 48 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

相關問題