From: "H.Yamamoto" Date: 2005-09-09T14:31:02+09:00 Subject: [ruby-dev:26995] Re: [proposal] ANSI style function 山本です。 質問ですが、ANSI では #ifdef HAVE_STDARG_PROTOTYPES #include #define va_init_list(a,b) va_start(a,b) #else #include #define va_init_list(a,b) va_start(a) #endif VALUE #ifdef HAVE_STDARG_PROTOTYPES rb_ary_new3(long n, ...) #else rb_ary_new3(n, va_alist) long n; va_dcl #endif は HAVE_STDARG_PROTOTYPES が常に使われるとしてよいでしょうか? あと、 static void hoge(int i); void (*func)(); /* ANYARGS */ func = hoge; (*func)(3,2); /* 実際に関数で宣言されている引数より多くを渡している */ というのは実は安全な処理なんでしょうか。私は危険だと思ってたのですが、 variable.c で堂々とそれが行われているので・・・