断言失败:__is_complete_or_unbounded
assertion fails: __is_complete_or_unbounded
编译 HHVM 时,代码失败,原因是:
/usr/include/c++/10/type_traits:918:52: error: non-constant condition for static assertion
918 | static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
__is_complete_or_unbounded
实际上 do/check 是什么?
构造最后一个成员变量如下的对象时出现问题:
value_type cell[0]
构造函数没有初始化这个成员,是这个问题吗?我将如何初始化 value_type 变量?
在 C++ 中,数组的大小不能为零。
来自Array declarators documentation:
If the expression is a constant expression, it shall have a value greater than zero.
编译 HHVM 时,代码失败,原因是:
/usr/include/c++/10/type_traits:918:52: error: non-constant condition for static assertion
918 | static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
__is_complete_or_unbounded
实际上 do/check 是什么?
构造最后一个成员变量如下的对象时出现问题:
value_type cell[0]
构造函数没有初始化这个成员,是这个问题吗?我将如何初始化 value_type 变量?
在 C++ 中,数组的大小不能为零。
来自Array declarators documentation:
If the expression is a constant expression, it shall have a value greater than zero.