c++ - Netbeans 突出显示没有错误的错误

标签 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 上找到了清除用户缓存的建议,我这样做了(删除 ~/.cache/netbeans/8.0.2/ 下的 index 目录)。

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

最佳答案

override是自 C++11 以来的关键字(仅当在适当的上下文中使用时)- 它可能会使 NetBeans 感到困惑。

它不是不能用作标识符的普通关键字(如 for 等)- 由于向后兼容性(使用像你这样的代码 :)),override只有出现在方法声明之后才会被视为关键字:

void fun() override;

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

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

关于c++ - Netbeans 突出显示没有错误的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32372269/

相关文章:

c++ - 在 c/c++ 开发中更改选项时,Netbeans 会重新生成 Makefile

c++ - iPhone 和其他移动设备上 C++ 事件处理的最佳方式

c++ Cycle随机切断?

c++ - Release模式下的 Xcode 无法编译 <immintrin.h> - 提示 __builtin_ia32_emms()

java - 一些功能没有按预期工作

git - netbeans cordova-构建我的项目时出错

node.js - 我可以在 Netbeans 中开发一个显示 'Missing npm modules' 警告的新 Laravel 项目吗?

Netbeans 中的 java @action 方法参数

C++类错误'const class Number'没有名为 'intValue'的成员

c++ - 如何检测是否定义了 errno_t?