Ada将OUT参数视为未初始化。如果未在过程中为其分配值,则不会信任其值。
您可以对程序运行SPARK分析。 SPARK分析仪将未设置的OUT参数识别为未初始化的变量。
或者,如果您使用的是Ada 2012,则可以为每个程序定义后置条件。如果使用早期版本的Ada,您可以使用PRAGMA ASSERT创建类似的后置条件。
在调用过程之前将参数设置为NULL对OUT参数没有影响。您似乎将OUT参数与IN OUT参数混淆。