Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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++/V8调用非静态函数/创建临时实例的便捷方法_C++_V8_Temporary Objects - Fatal编程技术网

C++ C++/V8调用非静态函数/创建临时实例的便捷方法

C++ C++/V8调用非静态函数/创建临时实例的便捷方法,c++,v8,temporary-objects,C++,V8,Temporary Objects,我正在寻找一种方法来扭转这种局面(有效): 变成这样: (HandleScope scope).Close(stuff); 我试过: HandleScope::Close(stuff); 但它不起作用 [@Xeo] 这是V8中的这一类 如果你不投票,至少解释一下你为什么这么做。这只能通过构造函数来完成。变量声明和函数调用都是语句。你为什么要那样做?您按付费在您的代码中 正如@Adam所指出的,如果函数是静态的,您可以直接调用它,但是您根本不需要创建类的实例。如果函数是静态的,我认为您可以

我正在寻找一种方法来扭转这种局面(有效):

变成这样:

(HandleScope scope).Close(stuff);
我试过:

HandleScope::Close(stuff);
但它不起作用

[@Xeo]

这是V8中的这一类



如果你不投票,至少解释一下你为什么这么做。

这只能通过构造函数来完成。变量声明和函数调用都是语句。你为什么要那样做?您按
付费在您的代码中


正如@Adam所指出的,如果函数是静态的,您可以直接调用它,但是您根本不需要创建类的实例。

如果函数是静态的,我认为您可以调用
MyClass::static\u fn()

如果我正确地猜测
Close
是一个非静态方法,那么正确的语法就是

HandleScope().Close(stuff);

创建了
HandleScope
的临时实例,并对其调用了
Close
,临时实例立即被销毁。

static\u fn
的声明是什么样子的?If
MyClass::static\u fn()不起作用,声明有问题。@almosnow您调用了哪些静态函数,函数调用是什么样子的?同样重要的是:您收到了什么错误消息?@jogojapan Close(),我刚刚用代码更新了我的问题:D@almosnow从语法上讲,它是有效的,但我不知道这是否是这个特定类的正确用法。我需要更仔细地阅读文档。对临时函数调用close函数听起来很奇怪,但我对v8了解不多。结果表明,该函数毕竟不是静态的(尽管提问者最初认为是静态的)。
HandleScope().Close(stuff);