我有包含的标头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
在我试过的几个案例中做了这项工作。