Inicialización de std :: initializer_list <std :: string_view>
Oct 30 2020
El siguiente programa
#include <initializer_list>
#include <string_view>
inline constexpr std::initializer_list<std::string_view> s = { "" };
int main() {}
se compila con Clang actual (12.0.0) pero no con GCC actual (11.0.0 20201028). Con GCC produce el error
prog.cc:4:67: error: modification of '<temporary>' is not a constant expression
4 | inline constexpr std::initializer_list<std::string_view> s = { "" };
| ^
De [dcl.init.list / 5] y del hecho de que el constructor string_view (char const *) es constexpr , asumo que el comportamiento de Clang está aquí.
¿Es eso correcto?
Respuestas
1 xskxzr Nov 08 2020 at 08:54
Sí, estás en lo correcto. Es un error de GCC .