Strong typedefs [duplicate]

Diese Frage hat hier bereits eine Antwort:

C ++ Stark getippt mit und typedef 4 Antworten

Gibt es eine Möglichkeit, eine vollständige Kopie eines Typs zu erstellen, damit diese im Kontext der Vorlagenableitung unterschieden werden können? Nehmen Sie das Beispiel:

#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;
}

Da typedef nur einen Alias für einen Typ erstellt, wird 0, 1 anstelle der gewünschten 0, 0 ausgegeben. Gibt es eine Problemumgehung dafür?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage