Программы на C++. Форум разработчиков
-
Anonymous
Ошибка в GCC при использовании строкового литерала как const char(&)[N] через функтор в шаблонной функции?
Сообщение
Anonymous »
Я создал простой строковый класс с конструкцией только из константных строк (литералов или const char[])
Код: Выделить всё
template
struct const_lit;
template
struct const_lit{
inline static constexpr unsigned Count = N;
};
struct str {
const char* ptr;
unsigned len;
template requires (const_lit::Count > 0)
str(T&& s) : ptr(s), len(const_lit::Count - 1) {
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79885892/bug-in-gcc-when-using-string-literal-as-const-charn-through-functor-in-temp[/url]
1770717923
Anonymous
Я создал простой строковый класс с конструкцией только из константных строк (литералов или const char[])
[code]template
struct const_lit;
template
struct const_lit{
inline static constexpr unsigned Count = N;
};
struct str {
const char* ptr;
unsigned len;
template requires (const_lit::Count > 0)
str(T&& s) : ptr(s), len(const_lit::Count - 1) {
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79885892/bug-in-gcc-when-using-string-literal-as-const-charn-through-functor-in-temp[/url]