0

HASH_TABLE 内の 2 つのオブジェクトを比較する際に問題が発生しています

PERSON は、名前、誕生日、交際ステータス、配偶者名、配偶者 ID などの属性を持つクラスです。したがって、基本的に属性コードで構成されています。

list: HASH_TABLE[PERSON, INTEGER_64]

put(id1, id2: INTEGER_64)
local
   p1, p2: PERSON
do
   p1 := model.list.at(id)
      -- or 
   p1 := model.list.search(id)
   p1 := model.list.found_item -- same error as below
end

エラー: 割り当てのソースがターゲットと互換性がありません。

使用される機能は「取り外し可能なG」を返します

アイテム機能が正しいオブジェクトタイプを返し、次に割り当てることを確実にするために、「添付されている場合」を行う必要があると思いますか? ただし、オブジェクトをキャストする方法が正確にはわかりません。

エラーは、上記の機能を呼び出すことによってトリガーされます

これらの関数が機能する必要がある理由は、並べ替えを簡単にできるからです

4

1 に答える 1

2

detachable G要素が見つからない可能性があるため、機能が返されます。したがって、オブジェクト テストを使用する必要があります。

if
   attached model.list [id1] as p1 and then
   attached model.list [id2] as p2
then
   ... -- use p1 and p2
end
于 2016-02-08T05:39:01.670 に答える