Функция, которую я хочу написать, имеет несколько пакетов типа переменных, поэтому я использую типы тегов без данных, чтобы явно указывать элементы каждого пакета типа. (оба с использованием багажника, std = c ++ 26) < /p>
template
struct SVariadicTypeset
{};
template
void moo(SVariadicTypeset, SVariadicTypeset, As ... a_s, Bs ... b_s);
void baa()
{
moo(SVariadicTypeset< >{}, SVariadicTypeset< >{}); // ok
moo(SVariadicTypeset{}, SVariadicTypeset< >{}, 1); // fails on g++
moo(SVariadicTypeset< >{}, SVariadicTypeset{}, 2); // ok
moo(SVariadicTypeset{}, SVariadicTypeset{}, 1, 2); // fails on g++
}
< /code>
через компилятор Explorer < /p>
Это законное C ++? < /p>
g ++.:6:6: note: template argument deduction/substitution failed:
:11:20: note: inconsistent parameter pack deduction with '' and ''
< /code>
утверждая '' и '' несовместимые, кажется, ошибка, верно? Итак, я предполагаю, что G ++ - плохо себя по себе.
Подробнее здесь: https://stackoverflow.com/questions/796 ... ls-clang-a
Неупомянутый вычет пакетов параметров с несколькими упаковками - G ++ не удается, Clang ++ принимает - кто прав? ⇐ C++
Программы на C++. Форум разработчиков
1750566543
Anonymous
Функция, которую я хочу написать, имеет несколько пакетов типа переменных, поэтому я использую типы тегов без данных, чтобы явно указывать элементы каждого пакета типа. (оба с использованием багажника, std = c ++ 26) < /p>
template
struct SVariadicTypeset
{};
template
void moo(SVariadicTypeset, SVariadicTypeset, As ... a_s, Bs ... b_s);
void baa()
{
moo(SVariadicTypeset< >{}, SVariadicTypeset< >{}); // ok
moo(SVariadicTypeset{}, SVariadicTypeset< >{}, 1); // fails on g++
moo(SVariadicTypeset< >{}, SVariadicTypeset{}, 2); // ok
moo(SVariadicTypeset{}, SVariadicTypeset{}, 1, 2); // fails on g++
}
< /code>
через компилятор Explorer < /p>
Это законное C ++? < /p>
g ++.:6:6: note: template argument deduction/substitution failed:
:11:20: note: inconsistent parameter pack deduction with '' and ''
< /code>
утверждая '' и '' несовместимые, кажется, ошибка, верно? Итак, я предполагаю, что G ++ - плохо себя по себе.
Подробнее здесь: [url]https://stackoverflow.com/questions/79674897/inconsistent-parameter-pack-deduction-with-multiple-packs-g-fails-clang-a[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия