2015-04-03 78 views
0

我正在使用Eclipse Luna 2 CDT並且在索引器中遇到了一個奇怪的問題。索引器失敗,參數爲「const」。我正在使用C++ 11和其他C++ 11函數正常工作。C++ eclipse爲常量參數提供了「無效參數」

樣例類

class Test { 
public: 
    int getX(); 
} 

這個作品沒有問題日食

void method(Test& t) { 
    t.getX(); 
} 

這給了奇怪的無效的參數異常:無效參數 '考生:INT的getX()'

void method(const Test& t) { 
    t.getX(); //ERROR: Invalid arguments in eclipse 
} 

我的問題是爲什麼Eclipse不能使用const參數。這個作品找到與構建gcc構建沒有問題。

+0

不回答你的問題。有一個C++語法的問題,關鍵字Class,字母c必須小寫,去掉括號。 – 2015-04-03 01:13:22

+0

修正了示例代碼 – BSingh 2015-04-03 01:16:00

+0

const t只能調用const函數。像這樣修復:int getX()const; – 2015-04-03 01:16:23

回答

0

C++編譯器,爲了防止你意外修改對象,常量不能調用非const對象的後綴方法。

我們能夠解決這樣的:

int getX() const; 

const對象和非const對象都可以調用它。

爲什麼鏗鏘聲編譯器工作,也許是一個鐺問題(我們可以稍後搜索)或一些優化會導致忽略檢查。

地址:

鐺C++ unassignedclangbugs RESO DUPL 沒有錯誤調用const對象和別的東西上非const方法。

我認爲這是叮噹問題,新版本可能會修復。