将参数传递给另一个函数

Pass arguments to another function

本文关键字:函数 另一个 参数传递      更新时间:2023-10-16

这里我给处理器分配了一个参数:

const unsigned argc = 1;
v8::Local<v8::Value> argv[1] = { NanNew("hello world") };
NanMakeCallback(NanGetCurrentContext()->Global(), callHandle, argc, argv);

但是我想分配两个参数!这就是为什么我试图做:

 const unsigned argc = 2;
 v8::Local<v8::Value> argv[1] = { NanNew("hello world") };
 argv[2] = { NanNew("second argument") };
 NanMakeCallback(NanGetCurrentContext()->Global(), callbackHandle, argc, argv);

然后我得到这个错误:

functions.cc:97:18: error: expected expression
  argv[2] << { NanNew("second argument") };
             ^

我哪里错了?我如何分配两个参数?由于

您似乎正在创建一个大小为1的数组:

v8::Local<v8::Value> argv[1] = { NanNew("hello world") };

然后尝试将{ NanNew("second argument") };赋值给索引为2的元素。这行不通。你的意思是这样的吗?

v8::Local<v8::Value> argv[2] = { NanNew("hello world"), NanNew("second arg") };

?

您试图分两步进行初始化。

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") };

请注意,您之前试图创建一个只有1个元素的数组argv[1],并试图访问第三个元素argv[2] =…

索引从0开始,所以有效索引的范围是0到N-1。