Falha na dedução do argumento do modelo de classe com a classe derivada
#include <utility>
template<class T1, class T2>
struct mypair : std::pair<T1, T2>
{ using std::pair<T1, T2>::pair; };
int main()
{
(void)std::pair(2, 3); // It works
(void)mypair(2, 3); // It doesn't work
}
O acima está bem formado?
É possível deduzir os argumentos do modelo de classe no segundo caso, se os construtores estão sendo herdados? Os construtores destd::pair
participando da criação de guias de dedução implícita paramypair
?
Meu compilador é o g ++ 7.2.0.