我正在尝试使用ada语言为Cheddar编写用户定义的任务调度策略。但是当我编写以下代码时:
mul:=1.0;
for i in tasks_range loop
if tasks.ready(i)=true then
mul:=lcm(tasks.capacity(i),mul);
end if;
end loop;
它给出了一个错误:引发异常:CONSTRAINT_ERROR:expressions.adb:1876访问检查失败
我尝试将mul定义为整数,但在那里也失败了。
请帮助。
答案 0 :(得分:0)
为了真正为您提供任何有意义的帮助,我们需要很多信息。
猜测一下,给定Constraint_Error
的例外,我将比较tasks_range
和tasks.ready
的范围tasks.capacity
。 —鉴于这看起来不像是惯用的Ada代码,我猜您是(a)试图从其他某种语言抄录方法/算法,或者(b)您不熟悉Ada的task
系统。