Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将参数传递给另一个函数_C++_Node.js_V8_Node.js Addon - Fatal编程技术网

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.抱歉,已更正!