我有一个模板结构,它有一个长度取决于模板中使用的类型的数组。
template<unsigned BitsInSpan, unsigned Count, typename T>
struct BitFlags
{
unsigned int Value[Count + (BitsInSpan - 1) / BitsInSpan];
}
现在,如果我将此模板用于我的枚举:
namespace EMouseButton
{
enum Type
{
LEFT,
RIGHT,
MIDDLE
};
}
using MouseButtonTypeBitFlags = BitFlags<32, 3, MouseButton::Type>;
它将初始化Value数组,长度为3(或者我将其放入Count中)。 有什么我忽略了导致这种行为/任何建议如何解决它?