Я ищу способ превратить это (который работает):
HandleScope scope;
scope.Close(stuff);
В что-то как это:
(HandleScope scope).Close(stuff);
Я пробовал с:
HandleScope::Close(stuff);
Но это не работает.
[@Xeo]Это тот класс от V8.
http://bespin.cz/~ondras/html/classv8_1_1HandleScope.html
Если вы dowvote, хотя бы объясните, почему вы это делаете.
Это можно сделать только с помощью конструкторов. Объявление переменной и вызов функции являются утверждениями. Почему ты бы так поступил? Вы платите за ;
в вашем коде?
Как указывает @Adam, если функция статическая, вы можете вызывать ее напрямую, но тогда вам вообще не нужно создавать экземпляр класса.
Если функция статическая, я думаю, что вы можете просто позвонить MyClass::static_fn();
Если я правильно угадать, что Close
это нестатический метод, то правильный синтаксис для того, что вы хотите
HandleScope().Close(stuff);
Временный экземпляр HandleScope
создано, Close
вызывается на него, а временное немедленно уничтожается.