Eclipse CDT在#ifndef下灰显错误的代码部分



我有包含的标头base.h

#ifndef GUARD_H
#define GUARD_H
<my code>
#endif

Eclipse CDT正在使#ifndef GUARD_H以下的所有内容变灰。如果定义了GUARD_H,这是正确的,但事实并非如此。事实上,在我的系统中唯一定义它的地方是下面的行,这正是用于include保护的。所以,我不明白为什么会发生这种情况。

此外,在我生活中在EclipseCDT下使用的数百个头文件中,尤其是在当前项目下,这是我第一次看到这样的东西。

为什么会发生这种情况如何解决此问题

使用面向C/C++开发人员的Eclipse IDE,版本:2018-09(4.9.0(,构建id:20180917-1800在Win 10下。

根据此注释,将受影响的标头添加到首选项->C/C++->索引器->索引特定标头的所有变体(用分号分隔(有帮助。"索引所有标题变体";也有帮助,但可能会付出性能成本。

我发现它有时有效。有时它不会,但在我编码或导航时,它会在稍后开始工作,而不会有任何明显的具体操作。相反,有时代码会变灰,没有任何明显的具体操作。

意外发现了这一点。将受影响的标头更改为类似的内容

#ifndef GUARD_H
#define GUARD_H
<my code>
#endif // GUARD_H   <-- Modification

在我试过的几个案例中做了这项工作。

相关内容

  • 没有找到相关文章

最新更新