我将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/
目录。)
有没有人建议如何解决这个问题?提前谢谢!
答案 0 :(得分:3)
override
是一个关键字(仅在适当的上下文中使用),因为C ++ 11 - 它可能会混淆NetBeans。
不能用作标识符的普通关键字(如for
等) - 由于向后兼容性(与您的代码类似:)),override
将仅被视为关键字如果它出现在方法声明之后:
void fun() override;
此代码强制编译器检查基类是否具有虚方法fun
。
所以你的代码是正确的,但检查关键字的简单IDE解析器可能会丢失。由于这只是参数名称,我建议更改它。