有人可以解释我PC-Lint错误没有。 38有一个例子......
38 Offset of symbol 'Symbol' inconsistent (Location) -- A
member of a class or struct appears in a different
position (offset from the start of the structure) than an
earlier declaration. This could be caused by array
dimensions changing from one module to another.
我不断收到错误......
Offset of symbol 'ClassX::access1' inconsistent (conflicts with line 92, file U:\ABC\ABCApp.h, module U:\ABC\ABCApp.cpp)
其中access1
是ACCESS
中声明的枚举ClassX
类型的成员变量。枚举ACCESS
在不同的头文件access.h
中定义。
access.h
中包含stdafx.h
。
typedef enum
{
ACCESS_NONE = 0,
ACCESS_READ = 1
} ACCESS;
不确定这里有什么问题。不一致在哪里?
答案 0 :(得分:0)
ACCESS
的定义不是问题,而是access1
成员在班级ClassX
中的位置。您要么具有该类的双重声明,要么(最有可能)在编译一个.cpp时生效的某些流氓#pragma pack
,但在编译另一个.cpp时无效。