Сильные typedefs [дубликаты]
На этот вопрос уже есть ответ здесь:
C ++ Сильно типизировано с использованием и typedef 4 ответаЕсть ли способ сделать полную копию типа, чтобы их можно было различить в контексте вывода шаблона? Возьмите пример:
#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;
}
Поскольку typedef создает псевдоним только для типа, он печатает 0, 1 вместо желаемых 0, 0. Есть ли обходной путь для этого?