数组长度未正确评估

时间:2014-05-07 14:55:07

标签: c++

我有一个模板结构,它有一个长度取决于模板中使用的类型的数组。

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中)。 有什么我忽略了导致这种行为/任何建议如何解决它?

0 个答案:

没有答案