我有以下枚举定义:
enum ReadMode {
File = 0,
MemMappedFile = 1,
RAM = 2,
VRAM = 3,
DMA = 4
};
现在我遇到的问题是RAM
评估为1而DMA
评估为2。
我正在使用gcc,所以可能存在问题吗?
我不知道哪些附加信息可能有用,可能是分配值:
struct ConfigEntry {
AssetRepoConfigBase::ReadMode readMode;
void Init(AssetRepoConfigBase::ReadMode _readMode) {
readMode = _readMode;
}
};
有些人后来:
if (m_ConfigEntries != 0) {
m_ConfigEntries[0].Init(DMA);
m_assetRepoConfigEntries[1].Init(RAM);
}
这里的问题是:我正在使用2个库(都使用相同的编译器编译),其中1个库包含配置,另一个库读取数据。现在有一个库正在访问这些数据,我遇到了问题,因为在一个库中,这些值按预期进行评估。
PS:实际上这个结构包含了由init方法设置的附加数据,我只是将其剥离以简化。这些额外的数据是预期的,所以我认为这不是一个初始化问题。
PPS:配置库(发生此问题)仅使用枚举中的DMA
和RAM
,可能是某种优化问题(在其他库中使用所有枚举)。< / p>