我收到此错误
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 类?