Почему & quot; вывод аргументов шаблона для шаблонов классов & quot; не работает на простой структуре?

C ++ 17 поддерживает template argument deduction for class templates,

Посмотри пожалуйста
www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0091r3.html за
подробная справочная информация.

Однако приведенный ниже код не работает должным образом;

#include <utility>

template<typename T>
struct A
{
T x;
};

int main()
{
auto p = std::pair{ 1, 2 }; // ok, as expected.

auto a = A{ 0 };
//
// error : no viable constructor or deduction guide
// for deduction of template arguments of 'A'
//
}

Мой компилятор Clang 5.0 с -std=c++1z,

Почему template argument deduction for class templates не работает на простой структуре?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector