如何使用访问类型访问包?

How to access package using access type?

假设我在包 pack.ads 中有两个程序,现在我想使用 acess 类型访问包包? 下面是我的规格文件

pack.ads

 package pack is
  procedure pac1;
  procedure pac2;
 end pack;

注意-我已经跳过了包体。 现在我想使用 access type.below 访问这些包是我的尝试,这很糟糕..请帮助我修复它

main.adb

  with pack 
  procedure main is
  type my_access is access all pack;--

这是一个糟糕的尝试,但请问有人可以帮忙吗?

您对 Ada 中的包有严重的(但偶尔会遇到)误解。

包很像 C++ 中的命名空间,或者可能只是 C 中的文件。您不能拥有指向这些东西的指针。

您可以有一个 pointer/access 类型引用 objects/subprograms/tasks。