typesafe typedef em C ++
Gostaria de usar algo como typedef nos meus programas C ++ para melhorar a segurança do tip
Como exemplo, suponha que eu tenha duas funções
void function1(unsigned idOfType1);
void function2(unsigned idOfType2);
então posso erroneamente passar idOfType2 para function1 e vice-versa. Eu quero que o compilador me dê um erro neste caso. Estou ciente de que poderia agrupar esses sinais em uma estrutura, mas seria necessário fornecer um nome de campo e usar.
para acessá-los, o que é um pouco inconveniente. Existe uma boa maneira de contornar isso?
Edit: Tanto quanto eu seitypedef
não funcionará para esse fim, pois é apenas um atalho para um tipo e não será usado para verificação de tip