断言失败:__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.