c++ - numeric_limits 的问题

标签 c++ numeric

为什么这不起作用?

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/

相关文章:

algorithm - 除和或除差的最精确的数值方法是什么?

r - 在 R 中的数据框中将 NA 转换为数字的问题

javascript处理框架加法NaN

c++ - 堆栈与堆属性的 QT 特定差异?

android - NDK r16b 独立工具链错误 : "/usr/bin/ld: this linker was not configured to use sysroots"

C++ 多重继承 - 相同的方法名称 - 我可以以某种方式删除其中一个吗?

numeric - perl6 Function floor 对数字和字符串的工作方式不同?

python - 如何在Python中使用正则表达式从字符串中删除两个 "underline-numeric"子字符串?

c++ - 为什么我不能用 T=vector<int> 实例化 operator<<(ostream&, vector<T>&)?

c++14 unique_ptr 并使 unique_ptr 错误使用已删除函数 'std::unique-ptr'