Почему необходимо указывать тип данных переменной? Что, если моя программа требует от пользователя ввода данных, которые могут принадлежать к любому из двух непересекающихся типов данных? Разве не следует предоставлять возможность объявления переменной без указания переменной, чтобы учесть ситуацию. Почему мы не можем позволить компьютеру определять тип данных на основе пользовательского ввода? Если у компилятора достаточно возможностей для выявления ошибки типа, я уверен, что он сможет легко указать тип данных на основе входных данных.
Подробнее здесь: https://stackoverflow.com/questions/261 ... -type-in-c