Установить строку в массив v8

Я исследую родные аддоны Node, используя Nan.

Поэтому я пытаюсь вернуть в Node массив строк со следующим кодом:

NAN_METHOD(open) {
Local<Array> v8Array = Nan::New<Array>();
std::string str = "erwer";
v8Array->Set(0, Nan::New<String>(str.c_str()) );
//v8Array->Set(0, Nan::New<Integer>(12) );
info.GetReturnValue().Set(v8Array);
}

Но это не скомпилировано:

error: no matching function for call to ‘v8::Array::Set(int, Nan::imp::MaybeFactoryBase<v8::String>::return_t)’
v8Array->Set(0, Nan::New<String>(str.c_str()) );

Но добавление элемента в виде целого числа (закомментированная строка) работает правильно.
Почему я не могу добавить строку в массив?

0

Решение

Итак, наконец я понял, что второй аргумент в случае, если он является строкой, должен быть заключен в ToLocalChecked ():

v8Array->Set(i, Nan::New<String>(results[i].c_str()).ToLocalChecked() );
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]