C++ eclipse为常量参数提供了“无效参数”

问题描述:

我正在使用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

C++编译器,为了防止你意外修改对象,常量不能调用非const对象的后缀方法。

我们能够解决这样的:

int getX() const; 

const对象和非const对象都可以调用它。

为什么铿锵声编译器工作,也许是一个铛问题(我们可以稍后搜索)或一些优化会导致忽略检查。

地址:

铛C++ unassignedclangbugs RESO DUPL 没有错误调用const对象和别的东西上非const方法。

我认为这是叮当问题,新版本可能会修复。