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