From: Takahiro Kambe Date: 2001-04-12T11:05:13+09:00 Subject: [ruby-dev:12894] Re: prototypes In message <987034423.424839.1176.nullmailer@ev.netlab.zetabits.com> on Thu, 12 Apr 2001 09:51:33 +0900, matz@zetabits.com (Yukihiro Matsumoto) wrote: > | RUBY_METHOD_FUNC() が ANSI C ではコンパイルエラーになります。 > |foo(...) というのは C++ じゃないと通りません。一方 C++ で試して ANSI Cだと固定した引数が1つは必要だったと記憶しています。確かに、C++は ともかくも、Cでは最初の1つの引数くらいはわからないと扱いに困るでしょう。 > | ということで、C++ なら ...、それ以外ならなしという形でプロト > |タイプを追加してみました。 最初の引数が固定していて (int, ...) とかできるなら、ANSI C的にはプロト タイプの恩恵を受けることができるかもしれません。 > あと、 > > |- VALUE (*cfunc)(); > |+ VALUE (*cfunc)(ANYARGS); > > や > > |- void (*finalize)(); /* finalize proc */ > |+ void (*finalize)(struct OpenFile*); /* finalize proc */ > > のような関数ポインタのプロトタイプってK&Rでは受け付けられた > んでしたっけ。 問題ないはずです、引数並びがない限り。そうでないとsignal(3)に渡す関数 すら宣言できませんね。 -- 神戸 隆博(かんべ たかひろ) at 仕事場