Почему в таком случае не работает вывод аргументов шаблона класса?

#include <vector>

template<typename T>
struct A : public std::allocator<T>
{
};

template<typename T>
using V = std::vector<T, A<T>>;

int main()
{
    auto v1 = std::vector{1, 2, 3}; // ok
    auto v2 = V{1, 2, 3};           // error
}

Сообщение об ошибке:

ошибка: шаблон псевдонима 'V' требует аргументов шаблона; вывод аргументов разрешен только для шаблонов классов.

Почему в таком случае не работает вывод аргументов шаблона класса?

0 ответов

Другие вопросы по тегам