1

我正在围绕 V8 引擎编写一个包装类,以便最终我能够做这样的事情

script->createClass("Test");
script->getClass("Test")->addFunction("funct1",testfunct1);
script->getClass("Test")->addVariable("x",setter,getter);

到目前为止,我可以创建类并向它们添加函数并且它工作得很好,但是我遇到了添加变量的问题。

我的班级模板是这样存储的

Persistent<Object> classInstance;

我尝试像这样添加一个访问器:

this->classInstance->SetAccessor(String::New(variableName),setter,getter);

编译这段代码给了我一个错误,即 v8::Object 没有 SetAccessor 函数(尽管我已经看到 doxygen 文档另有说明)。

所以我的问题是:我该如何解决这个问题?是否可以将对象转换为 ObjectTemplate?

4

1 回答 1

4

SetAccessoronObject从 2010 年 5 月发布的 V8 2.2.12 开始可用。(在此之前,它确实只在ObjectTemplate.)上可用。您可能应该更新您的 V8 副本。

于 2010-11-27T20:14:18.200 回答