符号'符号'的偏移量不一致

时间:2016-04-29 10:56:49

标签: c++ visual-c++ enums pc-lint

有人可以解释我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) 

其中access1ACCESS中声明的枚举ClassX类型的成员变量。枚举ACCESS在不同的头文件access.h中定义。 access.h中包含stdafx.h

typedef enum
{
    ACCESS_NONE      = 0,
    ACCESS_READ      = 1
} ACCESS;

不确定这里有什么问题。不一致在哪里?

1 个答案:

答案 0 :(得分:0)

ACCESS的定义不是问题,而是access1成员在班级ClassX中的位置。您要么具有该类的双重声明,要么(最有可能)在编译一个.cpp时生效的某些流氓#pragma pack,但在编译另一个.cpp时无效。