0

私は、アプリケーション全体を反復的に構築することに焦点を当てた本の演習を行ってきました。4 つのクラスを作成した後、4 番目のクラスのテストである 5 番目のクラスを作成しています。ただし、Overture は「名前 'BinBuilder()' は範囲外です」というエラーを報告しています。BinBuilder は、私が作成に成功した最後のクラスです。今回は自分が何をしているのか理解できません。問題を引き起こしているクラスは BinBuilder だけではなく、他の 2 つのクラスも同様です。何が悪いのかわからないので、ここに全体へのリンクを含めます。ありがとうございました。

編集: Overture からエクスポートされた zip ファイルをリンクしており、エラーを示すスクリーン キャプチャが含まれています。

4

1 に答える 1

0

次のものがあります。

builder: BinBuilder := BinBuilder();

しかし、私はあなたが意味すると思います:

builder: BinBuilder := new BinBuilder();

「範囲外」エラーは、「その名前の関数または操作呼び出しが範囲内に見つからない」ことを意味します。残念ながら、それは素晴らしいエラー メッセージではありません。Overture と VDMJ は、名前がどこにも存在しない場合と存在するが現在のスコープ内に表示されない場合に、同じ「スコープ外」メッセージを使用します。この場合、構文により、クラス名ではなく func/op 呼び出しが検索されます。

于 2016-02-22T12:50:08.780 に答える