为什么这不管用?
enum : long {MaxValue = std::numeric_limits<long int>::max()};我得到了错误:错误1错误C2057:预期常量表达式
它有什么不固定的?在编译时就知道了长int的限制,那么问题是什么呢?
发布于 2010-11-24 12:24:38
问题是,尽管std::numeric_limits<long int>::max()函数返回常量值,但它是在运行时中调用的,并且在编译时需要常量值。
您可能只需要使用LONG_MAX值(请参阅气候头)?
发布于 2010-11-24 12:28:50
发布于 2010-11-24 12:24:58
是的,但是函数不能在编译时执行。max()
https://stackoverflow.com/questions/4266691
复制相似问题