2016-11-13 4 views
1

移動セマンティクスに頼るメソッドとstd::unique_ptrをchaiscriptのエンジンに登録するにはどうすればよいですか?今ではサポートされていセマンティクスとstd :: unique_ptrをchaiscript内で移動する

dispatchkit/boxed_cast_helper.hpp:43:46: error: 'type name' declared as a pointer to a reference of type 'std::__1::unique_ptr std::__1::default_delete > &&' return *static_cast(p);

答えて

1

r値およびunique_ptrを:

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内から次のエラーを生成します。ここでは、コードの例ピースは、私がchaiscript 5.8.5を使用して動作させることはできませんですChaiScriptのブランチ(バージョン6.0.0になる)を開発しましたが、この質問には当時は不可能でした。

関連する問題