将 nullptr 转换为 std::span

Tee*_*les 5 c++ nullptr std-span

我有一个const z* zs = nullptr;

\n

我想转换zsstd::span

\n

当我尝试这样做时,std::span<const z>(zs) 我收到一条错误消息

\n
\n

错误:没有匹配的函数可调用 \xe2\x80\x98std::span::span(const z* const&)\xe2\x80\x99

\n
\n

如何转换为 zsstd::span

\n

我试过std::span<const z>(zs[0])了,好像可以编译。这种方式正确吗?

\n

Mes*_*kon 5

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

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


Cal*_*eth 2

您需要提供与指针一致的长度。空指针指向 0 个元素。你要重新分配sz到某个地方吗?

span是由无参数构造的。

std::span<const z>{}
Run Code Online (Sandbox Code Playgroud)