嗨,当我在 argv [1] 上执行检查时,下面的代码会崩溃。请帮助修复它,在将值分配给 argv[1] 时,我需要检查 bool 变量checktrue是否为 true 分配字符串值,否则分配 int 值,如下代码所示。
void DispatchEventWorker::HandleOKCallback() {
v8::Local<v8::Value> argv[2];
argv[0]= Nan::New<v8::String>(structdata.value1).ToLocalChecked();
if(checktrue)
{
argv[1] = Nan::New<v8::Number>(structdata.value2).ToLocalChecked();
}
else
{
argv[1] = Nan::New<v8::String>(structdata.value3);
}
callback->Call(2, argv);
}
注意输出:进程 123432098(节点)终止 SIGSEGV 代码=1 fltno=11 ip=0000000001076a08(/usr/lib/ldqnx-64.so.2@memcpy+0x0000000000000048) mapaddr=0000000000076a08。参考=2073696874206f74