Inicialização de std :: initializer_list <std :: string_view>
Oct 30 2020
O seguinte programa
#include <initializer_list>
#include <string_view>
inline constexpr std::initializer_list<std::string_view> s = { "" };
int main() {}
compila com o Clang atual (12.0.0), mas não com o GCC atual (11.0.0 20201028). Com o GCC, ele produz o erro
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] e do fato de que o construtor string_view (char const *) é constexpr , presumo que o comportamento do Clang esteja certo aqui.
Isso está correto?
Respostas
1 xskxzr Nov 08 2020 at 08:54
Sim você está correto. É um bug do GCC .
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino