typeafe typedef в C ++

Я хотел бы использовать что-то вроде typedef в моих программах на C ++ для повышения безопасности типов.

В качестве примера, предположим, у меня есть две функции

void function1(unsigned idOfType1);
void function2(unsigned idOfType2);

тогда я могу по ошибке передать idOfType2 в function1 и наоборот. Я хочу, чтобы компилятор выдал мне ошибку в этом случае. Я знаю, что я мог бы обернуть их без знака в структуру, но тогда я должен был бы предоставить имя поля и использовать. получить к ним доступ, что немного неудобно. Есть ли хороший способ обойти это?

Редактировать: насколько я знаюtypedef не будет работать для этой цели, так как это просто сокращение для типа и не будет использоваться для проверки типа.

Ответы на вопрос(7)

Ваш ответ на вопрос