Std :: initializer_list <std :: string_view> başlatma
Oct 30 2020
Aşağıdaki program
#include <initializer_list>
#include <string_view>
inline constexpr std::initializer_list<std::string_view> s = { "" };
int main() {}
mevcut Clang (12.0.0) ile derler ancak mevcut GCC (11.0.0 20201028) ile derleme yapmaz. GCC ile hatayı üretir
prog.cc:4:67: error: modification of '<temporary>' is not a constant expression
4 | inline constexpr std::initializer_list<std::string_view> s = { "" };
| ^
Gönderen [dcl.init.list / 5] ve gerçeği string_view (Char const *) yapıcısı olan constexpr , ben clang davranışı tam burada olduğunu varsayalım.
Bu doğru mu?
Yanıtlar
1 xskxzr Nov 08 2020 at 08:54
Evet haklısın. Bu bir GCC hatasıdır .
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi