Rax*_*ter 1 c++ v8 node.js-nan
我使用Nan调查本机Node插件.
所以我试图用以下代码返回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);
}
Run Code Online (Sandbox Code Playgroud)
但它没有编译:
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()) );
但是将项添加为整数(注释行)可以正常工作.为什么我不能在数组中添加字符串?
所以,最后我意识到,作为String的第二个参数应该用ToLocalChecked()包装:
v8Array->Set(i, Nan::New<String>(results[i].c_str()).ToLocalChecked() );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1384 次 |
| 最近记录: |