所以这是我的身体文件的一部分。我收到错误“words.adb:75:42:“S”的实际值必须是变量”。
procedure Remove_Character(S : in out Ustring; C : in Character; Successful : out Boolean) is
begin
for I in 1..length(S) loop
if Element(S, I) = C then
Delete(S, I, I);
Successful := true;
return;
end if;
end loop;
Successful := false;
end Remove_Character;
function Is_Subset(Subset : Ustring; S : Ustring) return Boolean is
Could_Remove : Boolean;
begin
for I in 1..length(Subset) loop
Remove_Character(S , Element(Subset, I), Could_Remove);
if Could_Remove = false then
return false;
end if;
end loop;
return True;
end Is_Subset;
我明白我的错误来自哪里。Remove_Character 使用 S : in out Ustring 而函数 Is_Subset 使用 S : in Ustring。我的问题是如何将变量从 Remove_Character 更改为仅 Ustring 中的变量?抱歉,如果这有点混乱,我对编程和网站都很陌生。