Влияют ли пакеты параметров шаблона разрешения перегрузки?C++

Программы на C++. Форум разработчиков
Anonymous
Влияют ли пакеты параметров шаблона разрешения перегрузки?

Сообщение Anonymous »

Посмотрите на этот код (Godbolt): < /p>

Код: Выделить всё

template 
void func(const char *it, T &&...t) {}

template 
void func(A &&a, B &&b) {}

int main() {
func("a", 0);
}
clang не составляет этот код (потому что вызов func неоднозначен), в то время как GCC компилирует его. Если я удалю варидовый параметр и использую простое тип t , то Clang компилирует код.
Какой компилятор правильный? Если Clang верен, объясните, пожалуйста, почему существует разница между вариадическим и не вариадическим случаем в отношении разрешения перегрузки.

Подробнее здесь: https://stackoverflow.com/questions/793 ... resolution

Вернуться в «C++»