Почему в таком случае не работает вывод аргументов шаблона класса?
#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' требует аргументов шаблона; вывод аргументов разрешен только для шаблонов классов.
Почему в таком случае не работает вывод аргументов шаблона класса?