Как можно вывести тип выражения аргумента шаблона? Например, в отношении следующий код:Вывод выражения типа шаблона
template< typename T >
class A
{
//....
};
template< typename T_1, typename T_2 >
class B
{
auto foo()
{
return A</* Type of "T_1+T_2"*/>();
}
};
Как тип T_1+T_2
быть выведен? Например, это может быть T_1=float
и T_2=int
, и, следовательно, foo
должен вернуть A<float>()
(так как суммирование a integer
с float
приводит к float
).