У меня быстрый вопрос по Аде. Если у меня есть процедура, в которой я может записать в переменную, или я может оставить ее в покое, это должен быть параметр Out
или In Out
? Я думаю, это сводится к вопросу:
Что видит вызывающая сторона, если она вызывает процедуру с параметром Out
, но процедура не касается параметра. Видит ли это то же значение? Неопределенное поведение?
Компилятор не жалуется, потому что видит присваивание переменной Out
... он просто оказывается в условном, где он не может быть достигнут, и компилятор не удосуживается проверить все пути .
Я подозреваю, что безопасная ставка помечает параметр как In Out
, но я хотел бы знать, является ли это необходимым или просто стилистически предпочтительным.
Спасибо!
-prelic