Netbeans在没有错误时突出显示错误

Netbeans Highlights errors where are no errors

本文关键字:显示 错误 有错误 Netbeans      更新时间:2023-10-16

我使用NetBeans与c++插件(版本8.0.2)。我有一个名为"设置"的类,它给了我大量的虚假错误,使得无法使用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的建议,我这样做了(删除~/.cache/netbeans/8.0.2/下的index目录)。

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

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

它不是正常的关键字(如for等),不能用作标识符-由于向后兼容(与代码像你的:)),override将被视为关键字,只有当它出现在方法声明之后:

void fun() override;

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

所以您的代码是正确的,但是检查关键字的简单IDE解析器可能会丢失。