我正在尝试创建一些字符串常量的constexpr初始化程序列表。我认为这在C ++ 17中应该可行,但我无法在MSVC中进行编译。
#include <string_view>
using namespace std::literals::string_view_literals;
const constexpr std::initializer_list<std::string_view> some_strings{
"asdf"sv
};
这将显示以下错误消息:
error C2131: expression did not evaluate to a constant
note: failure was caused by non-constant arguments or reference to a non-constant symbol
note: see usage of '$S1'
我不知道哪一部分是非constexpr:
有什么想法吗?这可能只是Visual Studio中的错误吗?错误消息中引用的“ $ S1”是什么?
编辑:Visual Studio 15.8.9