为什么这不起作用?
enum : long {MaxValue = std::numeric_limits<long int>::max()};
我收到错误:错误 1 错误 C2057:预期的常量表达式
它有什么不固定的? long int 的限制在编译时是已知的,那么问题是什么?
最佳答案
问题是虽然std::numeric_limits<long int>::max()
函数返回常量值,它在运行时调用,您需要在编译时常量值
也许你可以使用LONG_MAX
值(请参阅 climits header )?
关于c++ - numeric_limits 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4266691/