我是 Ada 的新手,但一般来说对编程并不陌生。我对受保护的数据对象有疑问。正如我从示例和书籍中了解到的那样,您可以像调用任务一样调用受保护数据对象中的成员。
这是我的代码:
procedure ass4 is
protected type Signal_Object is
entry Wait;
procedure Signal;
function Is_Open return Boolean;
private
Open : Boolean := False;
end Signal_Object;
protected body Signal_Object is
entry Wait when Open is
begin
Open := False;
end Wait;
procedure Signal is
begin
Open := True;
end Signal;
function Is_Open return Boolean is
begin
return Open;
end Is_Open;
end Signal_Object;
begin
Signal_Object.Signal;
end;
但是编译器不喜欢这个调用Signal_Object.Signal;
,我收到以下错误
invalid use of subtype mark in expression or call
那么我错过了什么?