如何注册依赖于移动语义和std::unique_ptr
chaiscript 引擎的方法?这是我无法使用 chaiscript 5.8.5 开始工作的示例代码:
class Element;
class MyClass
{
public:
void addElement(std::unique_ptr<Element>&&);
};
chaiscript::ModulePtr m = chaiscript::ModulePtr(new chaiscript::Module());
chaiscript::utility::add_class<MyClass>(*m, "MyClass", {
chaiscript::constructor<MyClass ()>()
}, {
{chaiscript::fun(&MyClass::addElement), "addElement"},
});
这会从 chaiscript 中生成以下错误:
dispatchkit/boxed_cast_helper.hpp:43:46:错误:“类型名称”声明为指向“std::__1::unique_ptr std::__1::default_delete > &&”类型引用的指针返回 *static_cast(p);