Cal*_*ght 1 parameters null ada out
给定一个具有多个不同类型的OUT参数的过程,全部初始化为null,如何在过程调用后检查它们的值是否发生变化?即如果他们不再null.
我认为可能有一种比穿线更好的方法 if (OUTP_1 /= null) and (OUTP_2 /= null) ... then ALL_FINE := TRUE;.
有一个易于应用的解决方案将是伟大的,因为我实际上有许多程序可以检查这一点.不寻求优雅,而是易于实施.
Ada将OUT参数视为未初始化.如果未在过程中为其分配值,则不会信任其值.
您可以对程序运行SPARK分析.SPARK分析仪将未设置的OUT参数识别为未初始化的变量.
或者,如果您使用的是Ada 2012,则可以为每个程序定义后置条件.如果使用早期版本的Ada,您可以使用PRAGMA ASSERT创建类似的后置条件.
在调用过程之前将参数设置为NULL对OUT参数没有影响.您似乎将OUT参数与IN OUT参数混淆.
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |