static assert c++ - 常量表达式错误
static assert c++ - constant expression error
我正在尝试使用 static_assert :
static_assert(std::numeric_limits<T>::max() <= std::numeric_limits<size_t>::max() , "T maximum should be smaller than size_t maximum" );
但我在编译时遇到错误
Expected constant expression
我确实有表情,请问有什么问题吗?
对于没有 constexpr
的编译器,使用适当的 C 库 MAX
名称,例如 <stdint.h>
.
中的 SIZE_MAX
或者,对于 size_t
等无符号类型,您可以只使用 size_t(-1)
.
我正在尝试使用 static_assert :
static_assert(std::numeric_limits<T>::max() <= std::numeric_limits<size_t>::max() , "T maximum should be smaller than size_t maximum" );
但我在编译时遇到错误
Expected constant expression
我确实有表情,请问有什么问题吗?
对于没有 constexpr
的编译器,使用适当的 C 库 MAX
名称,例如 <stdint.h>
.
SIZE_MAX
或者,对于 size_t
等无符号类型,您可以只使用 size_t(-1)
.