gpt4 book ai didi

pointers - Ada 任务 : pointers in task entries

转载 作者:行者123 更新时间:2023-12-01 19:37:56 25 4
gpt4 key购买 nike

我想用 Ada 中的一些任务条目创建一个任务类型(例如名为“计算机”的任务类型)。我想创建一个任务条目,其输入参数类型为“可访问所有计算机”,即指向任务类型的指针。这有可能吗?

我尝试做这样的事情:

task type computer;
type computer_ptr is access all computer;
task type computer is
entry init(a: computer_ptr);
end computer;

这是建议的here 。不幸的是,这不起作用:GNAT 说“计算机”的声明存在冲突。

谁能想出一种方法来实现我想做的事情吗?

最佳答案

通过使用任务类型计算机;,您可以声明一个根本没有任何条目的任务类型计算机。然后,您声明另一个同名的任务类型。

如果您想“前向声明”任务类型(根据访问类型的需要),您应该像任何其他类型一样编写 type computer; 。这是一个不完整的类型,可以通过任务类型声明来完成。

所以你的例子应该是这样的:

type computer;
type computer_ptr is access all computer;
task type computer is
entry init (a: computer_ptr);
end computer;

关于pointers - Ada 任务 : pointers in task entries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10584890/

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