La deducción de argumento de plantilla de clase falló con la clase 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
}
¿Está bien hecho lo anterior?
¿Es posible deducir los argumentos de la plantilla de clase en el segundo caso si los constructores están siendo heredados? Son los constructores destd::pair
participando en la creación de guías de deducción implícita paramypair
?
Mi compilador es g ++ 7.2.0.