我正在尝试解决以下警告。
warning C26485: Expression 'pNMLink->item.szUrl':
No array to pointer decay. (bounds.3...)
此警告是由以下代码引起的。
auto pNMLink = reinterpret_cast<PNMLINK>(pNMHDR);
ShellExecuteW(nullptr, L"open", pNMLink->item.szUrl, nullptr, nullptr, SW_SHOWNORMAL);
C++ 核心指南极其有限的文档表明解决方案是使用跨度。
array decay -- use span (from the GSL)
不幸的是,它没有提供有关如何从数组构建跨度的信息。
我尝试了以下方法。
gsl::span<wchar_t> url(pNMLink->item.szUrl);
我也尝试了许多其他选择。它们都导致相同的确切警告。我需要使用什么魔法咒语来避免警告?