これが私のボディファイルの一部です。「words.adb:75:42: actual for "S" must be a variable」というエラーが表示されます。
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 のみに変更するにはどうすればよいですか? これが少し混乱している場合は申し訳ありません。私はプログラミングとサイトの両方にかなり慣れていません。