1

プログラムを実行すると、エラーが発生します。

program lab_1_27;
uses crt;
var
x, y, z: real;
a: integer;


function pow_udf(m, n:real) : real;
var
  result: real;
begin
  result:= exp(y * ln(x));
end;


begin
  clrscr;

  readln(x);
  readln(y);
  z:= pow_udf(x, y);

  a:= round(z); (* a cursor is in this line after terminating the program *)
  writeln(a);

readkey;
end.

エラー:

Error 207: invalid floating point operation.

資金を提供できないので、そのような行動の理由を教えてください...

4

2 に答える 2

1

古い質問ですが、プログラムで同じエラーが発生していて、解決策が異なりました。他の人がこのエラー コードを検索するのに役立つかもしれません。

私のプログラムでは、コンパイラ ディレクティブ N- を使用していました。それを N+ に切り替えることで、かなりの速度向上が見られましたが、エラー 207 がポップアップし始めました。

ソースの先頭にディレクティブ N- を追加します。

{$N-}
PROGRAM ExampleProg;
USES Crt, Dos;

または、コンパイラ オプションに入り、8087/80287 処理を無効にします。これで問題が解決する場合があります。

注: ソースにコンパイラ ディレクティブ N+ が定義されている場合、IDE でオプションを変更しても何も起こりません。ソースコードが却下!

于 2015-12-10T17:54:03.503 に答える