将nullptr转换为std::span



我有一个const z* zs = nullptr;

我想将zs转换为std::span

当我尝试执行std::span<const z>(zs)时,我收到一个错误,说

错误:调用"std::span::span(const z*const&("时没有匹配的函数

如何将zs转换为std::span

我尝试了std::span<const z>(zs[0]),它似乎要编译。这样正确吗?

std::span有一个构造函数,它接受一个指针和一个大小,使用它:

std::span<const z>(zs, 0)

您需要提供一个长度来配合指针。空指针指向0个元素。你是否将sz重新分配到某个地方?

一个空的span是由无参数构造的。

std::span<const z>{}

相关内容

  • 没有找到相关文章

最新更新