提升Python enum_ max值问题

Joh*_*ith 5 python crash enums boost max

enum MyEnum
{
    SOME_NAME = 2147483648;
};

...

enum_<MyEnum>("MyEnum")
    .value("SOME_NAME", SOME_NAME)
;
Run Code Online (Sandbox Code Playgroud)

虽然这个编译很好,但它在初始化时崩溃导致enum_将值转换为"long",仅限于2147483647.我需要他们长期无条件.有没有办法做到这一点,而无需创建一个完整的枚举包装?

谢谢!

Nic*_*lfi 0

你可以用 typecastlong long代替long, 或者unsigned long 也可以unsigned long long

来源:https ://msdn.microsoft.com/en-us/library/s3f49ktz.aspx