1
スパンをconstexprにすることはできますか?
std :: spanのすべてのコンストラクターはconstexprと宣言されていますが、それらのいずれかをconstexprコンテキストで動作させることはできません。以下のconstexprのコメントを外すと、コンパイルエラーが発生します。 #include <array> #include <span> int main() { constexpr int carray[3] = { 0, 1, 2 }; constexpr std::array<int, 3> array{ 0, 1, 2 }; using S = std::span<const int, 3>; /*constexpr*/ S span1{ array.data(), 3 }; /*constexpr*/ S span2{array.begin(), array.end()}; /*constexpr*/ S span3{carray}; /*constexpr*/ S span4{array}; } …