Tipos de letra fuertes [duplicado]
Esta pregunta ya tiene una respuesta aquí:
C ++ fuertemente tipado usando y typedef 4 respuestas¿Hay alguna forma de hacer una copia completa de un tipo para que puedan distinguirse en el contexto de deducción de plantillas? Toma el ejemplo:
#include <iostream>
template <typename T>
struct test
{
static int c()
{
static int t = 0;
return t++;
}
};
typedef int handle;
int main()
{
std::cout << test<int>::c() << std::endl;
std::cout << test<handle>::c() << std::endl;
return 0;
}
Dado que typedef solo crea un alias para un tipo, imprime 0, 1 en lugar del 0, 0. ¿Hay alguna solución para esto?