我很难让Eclipse (Codan)识别头文件中的某些数据声明。对于索引所有标头变体有一种新的偏好,但对于这意味着什么却几乎没有解释。启用偏好似乎解决了问题。但我还是想知道这种偏好到底是做什么的。
发布于 2015-04-14 08:07:28
假设您有这样的头a.h:
#pragma once
#ifndef SYMBOL
#define SYMBOL int
#endif
struct S
{
SYMBOL sym;
};现在,如果您将标题包括在下面这样:
struct UserSymbol
{
int i, j, k;
};
#define SYMBOL UserSymbol
#include "a.h"
S var;
int main()
{
var.sym.i = 123;
return 0;
}那么Eclipse可能无法识别sym.i。
您可能有更复杂的示例,其中包含更深层次的嵌套包含,等等。
编辑:
但是,如果将a.h包含到“索引所有特定标题的变体”列表中,或者选中“索引所有标头变量”,Eclipse将构建几个a.h索引的变体,并“知道”您已经定义了特定的SYMBOL。
https://stackoverflow.com/questions/27217857
复制相似问题