gpt4 book ai didi

ada - 数组(数组'第一个) "array index check might fail"

转载 作者:行者123 更新时间:2023-12-05 09:15:06 26 4
gpt4 key购买 nike

在使用 CodePeer 分析 Ada 代码库时,该工具在执行此操作的行中报告“数组索引检查可能失败”:

Param(Param'First) := ....

Param 是一个传入的out 参数——而且是数组类型。

我的理解是 Ada 在运行时携带数组大小和有效索引范围(以便执行范围检查)...我看不出任何 Ada 数组如何通过访问索引 array 来违反其范围检查'首先

我错过了什么?

最佳答案

你可以声明一个范围为空的数组,

array(1..0)
array(10..5)
array(1337..-1)

等等

在这种情况下,Param'First 将大于 Param'Last,索引检查将失败。

我猜Param是一个不受约束的数组类型,像String,f.eks?

type String is array(Positive range <>) of Character;

然后可以将任何类型的对象声明为空字符串:

Foo : String(1..0);

然后作为参数传递给你的子程序

关于ada - 数组(数组'第一个) "array index check might fail",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53043397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com