2012-10-29 1 views
-2

을 만드는 :C++/V8 비 정적 함수를 호출하는 편리한 방법/I가 (어떤 작품)이 설정하는 방법을 찾고 있어요 일시적 예를

HandleScope scope; 
scope.Close(stuff); 

이 같은속으로 :

(HandleScope scope).Close(stuff); 

나는 시도했다 :

HandleScope::Close(stuff); 

그러나 그것은 작동하지 않습니다.

는 [@Xeo]

은 V8에서이 클래스입니다. 당신이 dowvote 경우 당신이 그것을하고있는 이유

http://bespin.cz/~ondras/html/classv8_1_1HandleScope.html


, 적어도 설명합니다.

+1

'static_fn'선언은 어떻게 생겼습니까? – Xeo

+1

'MyClass :: static_fn();'이 작동하지 않으면, 선언문에 문제가있다. –

+0

@almosnow 어떤 정적 함수를 호출했고 함수 호출은 어떻게 생겼을까요? 마찬가지로 중요 : 어떤 오류 메시지를 받았습니까? – jogojapan

답변

3

이것은 생성자를 통해서만 수행 할 수 있습니다. 변수 선언과 함수 호출은 모두 두 문장입니다. 왜 그걸 할거야? 귀하의 코드에 ;을 지불합니까?

@Adam이 지적했듯이 함수가 정적 인 경우 직접 호출 할 수 있지만 클래스의 인스턴스를 전혀 만들 필요가 없습니다. 함수가 정적 인 경우

+0

IDK, 그냥 호기심이 – almosnow

3

, 나는 Close은 당신이 원하는 무엇을위한 다음 비 정적 방법, 올바른 구문입니다 추측에 수정하면 그냥 MyClass::static_fn();

+0

작동하지 않았다 ... : C – almosnow

+2

결국 함수가 정적이 아니란 것으로 나타났습니다. (원래 질문자가 생각하기는했지만). – jogojapan

1

를 호출 할 수 있습니다

HandleScope().Close(stuff); 
생각

HandleScope의 임시 인스턴스가 만들어지고 Close이 호출되고 임시 인스턴스가 즉시 삭제됩니다.