From: Takaaki Tateishi Date: 2002-05-03T02:59:36+09:00 Subject: [ruby-dev:17002] strict prototype for c++ 立石です. C++では,intern.hの中の rb_gc_mark() のようなものは引数なしの関数 として見られます.そこで,void rb_gc_mark(VALUE) としてみせたいの で __cplusplus がdefineされている場合には void rb_gc_mark(VALUE)と するようにしてみてはどうかと思っています.いかがでしょうか? -- Takaaki Tateishi Index: intern.h =================================================================== RCS file: /src/ruby/intern.h,v retrieving revision 1.35.2.19 diff -u -u -r1.35.2.19 intern.h --- intern.h 2002/03/07 11:19:28 1.35.2.19 +++ intern.h 2002/05/02 17:47:04 @@ -189,8 +189,13 @@ void rb_gc_mark_locations _((VALUE*, VALUE*)); void rb_mark_tbl _((struct st_table*)); void rb_mark_hash _((struct st_table*)); +#if defined(__cplusplus) +void rb_gc_mark_maybe(VALUE); +void rb_gc_mark(VALUE); +#else void rb_gc_mark_maybe(); void rb_gc_mark(); +#endif void rb_gc_force_recycle _((VALUE)); void rb_gc _((void)); char *rb_source_filename _((const char *)); -- Takaaki Tateishi