C++ 将参数传递给另一个函数
在这里,我为处理程序分配一个参数:C++ 将参数传递给另一个函数,c++,node.js,v8,node.js-addon,C++,Node.js,V8,Node.js Addon,在这里,我为处理程序分配一个参数: const unsigned argc = 1; v8::Local<v8::Value> argv[1] = { NanNew("hello world") }; NanMakeCallback(NanGetCurrentContext()->Global(), callHandle, argc, argv); const无符号argc=1; v8::localargv[1]={NanNew(“helloworld”)}; NanMak
const unsigned argc = 1;
v8::Local<v8::Value> argv[1] = { NanNew("hello world") };
NanMakeCallback(NanGetCurrentContext()->Global(), callHandle, argc, argv);
const无符号argc=1;
v8::localargv[1]={NanNew(“helloworld”)};
NanMakeCallback(NanGetCurrentContext()->Global(),callHandle,argc,argv);
它起作用了
但是我想分配两个参数!这就是为什么我尝试这样做:
const无符号argc=2;
v8::localargv[1]={NanNew(“helloworld”)};
argv[2]={NanNew(“第二个参数”)};
NanMakeCallback(NanGetCurrentContext()->Global(),callbackHandle,argc,argv);
但是我得到了这个错误:
functions.cc:97:18:错误:预期表达式
argv[2]您似乎正在创建一个大小为1的数组:
v8::Local<v8::Value> argv[1] = { NanNew("hello world") };
?您似乎正在创建一个大小为1的数组:
v8::Local<v8::Value> argv[1] = { NanNew("hello world") };
?您尝试分两步进行初始化
int values[2] = { 0, 1 }; // OK: Array of two ints initialized with 0 and 1 respectively
int values[2] = { 0 }; // OK: Array of two ints, first value initialized with 0
values[1]= { 1 }; // Error: This is not an initialization
{}语法仅用于数组的初始化。(当然还有职能机构等)
在你的情况下,你可能想这样做
v8::Local<v8::Value> argv[2] = { NanNew("hello world") , NanNew("second argument") };
v8::localargv[2]={NanNew(“你好世界”),NanNew(“第二个参数”)};
请注意,您之前试图创建一个仅包含1个元素argv[1]的数组,并试图访问第三个元素argv[2]=
索引从0开始,因此有效索引的范围从0到N-1。您正试图通过两个步骤进行初始化
int values[2] = { 0, 1 }; // OK: Array of two ints initialized with 0 and 1 respectively
int values[2] = { 0 }; // OK: Array of two ints, first value initialized with 0
values[1]= { 1 }; // Error: This is not an initialization
{}语法仅用于数组的初始化。(当然还有职能机构等)
在你的情况下,你可能想这样做
v8::Local<v8::Value> argv[2] = { NanNew("hello world") , NanNew("second argument") };
v8::localargv[2]={NanNew(“你好世界”),NanNew(“第二个参数”)};
请注意,您之前试图创建一个仅包含1个元素argv[1]的数组,并试图访问第三个元素argv[2]=
索引从0开始,因此有效索引的范围从0到N-1。您的错误消息与显示的代码段不匹配。@t.C.抱歉,已经更正了!您的错误消息与您正在显示的代码段不匹配。@t.C.抱歉,已更正!