このエラーが発生しています
ev.c:11: error: subscripted value is neither array nor pointer
この行の
printf("%d\n", pairs[0][0]);
このコードでは
static VALUE EV;
static VALUE PairCounter;
static VALUE
sort_pairs_2(VALUE self) {
VALUE pairs;
pairs = rb_ivar_get(self, rb_intern("pairs"));
printf("%d\n", pairs[0][0]);
return Qnil;
}
void Init_ev() {
rb_eval_string("require './lib/ev/pair_counter'");
VALUE PairCounter = rb_path2class("EV::PairCounter");
rb_define_method(PairCounter, "sort_pairs_2", sort_pairs_2, 0);
}
self の使い方が間違っていますか? rb_ivar_get は実際には PairCounter クラスを指していませんか?