2

我正在尝试在我的 c++ 插件中将字符串数组从参数解析/转换为 std::vector 。

这是我的代码:

Handle<Array> array = Handle<Array>::Cast(args[4]);
for (uint32_t i = 0; i < array->Length(); i++) {
  Local<Object> obj = array->CloneElementAt(i);
}

但是无论我对我的对象做什么(转换为字符串、ToString()、...),我都会在执行时得到 coredump。我错过了一些明显的东西吗?

谢谢阅读。

解决方案 :

Handle<Array> array = Handle<Array>::Cast(args[4]);
for (uint32_t i = 0; i < array->Length(); i++) {
  Local<Value> obj = array->Get(Integer::New(i));
}
4

1 回答 1

0

解决方案是使用 Get 而不是 CloneElementAt。

Handle<Array> array = Handle<Array>::Cast(args[4]);
for (uint32_t i = 0; i < array->Length(); i++) {
  String::AsciiValue s(array->Get(Integer::New(i))->ToString());
}
于 2013-07-17T05:57:53.410 回答