Netbeans突出显示没有错误的错误

时间:2015-09-03 09:47:21

标签: c++ netbeans

我将NetBeans与C ++插件(版本8.0.2)一起使用。我有一个名为“Settings”的类,它给了我大量的错误,因此无法使用NetBeans调试此类。

所有错误都从hpp文件开始:

bool SetSettingString(std::string Name, std::string defaultValue, bool override = true);
bool SetSettingFloat(std::string Name, float defaultValue, bool override = true);
bool SetSettingInt(std::string Name, int defaultValue, bool override = true);
bool SetSettingBool(std::string Name, bool defaultValue, bool override = true);
bool SetSettingDouble(std::string Name, double defaultValue, bool override = true); 

错误从第一个defaultValue开始,此时也在cpp文件中,NetBeans几乎将所有代码都突出显示为红色,因为他无法解析任何标识符。代码很干净,编译时甚至没有警告。

我的第一个猜测是,NetBeans以某种方式将defaultValue解释为关键字,但将其更改为其他名称不会改变任何内容。我还在SO上找到了清除usercache的建议,我做了(删除index下的~/.cache/netbeans/8.0.2/目录。)

有没有人建议如何解决这个问题?提前谢谢!

1 个答案:

答案 0 :(得分:3)

override是一个关键字(仅在适当的上下文中使用),因为C ++ 11 - 它可能会混淆NetBeans。

不能用作标识符的普通关键字(如for等) - 由于向后兼容性(与您的代码类似:)),override将仅被视为关键字如果它出现在方法声明之后:

void fun() override;

此代码强制编译器检查基类是否具有虚方法fun

所以你的代码是正确的,但检查关键字的简单IDE解析器可能会丢失。由于这只是参数名称,我建议更改它。