我在 C++11 中有以下类:
class MyTable
{
public:
enum class EntryType
{
USED, FREE
};
MyTable(EntryType value)
{
for (uint32_t i = 0; i < 10; ++i)
{
memset(_table[i].data(), (int)value, sizeof(_table[0][0]) * 50);
}
}
array<array<EntryType, 50>, 10> _table;
}
试图构造一个值为 EntryType::FREE 的 MyTable 对象,二维数组中的每个项目的值都是 0x01010101(每 8 位 1b),而不是预期的值 0x1
我猜这与我value
被强制转换为有关int
,但我不知道我应该做什么来修复它。