Номинальный тип проверки в C - PullRequest
1 голос
/ 12 июля 2020

Проверка ввода в C / C ++ является структурной: важно то, что обозначенные типы, когда все typedef (чье имя действительно вводит в заблуждение) были разрешены, одинаковы.

Тем не менее, эта программа, которая использует много list s (из void*), много int s, относящихся к различным типам объектов, и я очень хотел бы иметь хорошие typedef s для ее списков (typedef list foo_list, typedef list bar_list) и его int s (typedef int orange_number, typedef int apple_number). Но легко ошибиться.

Я не хочу go для "строгих определений типов", просто чтобы я был последовательным в использовании имен псевдонимов типов.

Существуют ли какие-либо компиляторы что функция предупреждения жаловаться на несогласованный тип имена ? То, что жалуется, когда я смешиваю orange_number и apple_number, но не orange_number и int. Есть ли что-нибудь, что могло бы предотвратить такое предупреждение?

...