gpt4 book ai didi

c++ - luabind 和静态字段

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:41:09 27 4
gpt4 key购买 nike

我正在尝试从类中导出静态字段:

class Foo
{
const static int Var;
};

// luabind module:
.def_readonly("Var", &Foo::Var);
// I've also tried
.def_readonly("Var", Foo::Var);
 error: no matching function for call to ‘luabind::class_<Foo>::def_readonly(const char [6], const Foo&)’
note: template<class C, class D> luabind::class_& luabind::class_::def_readwrite(const char*, D C::*)

我错过了什么?

最佳答案

As clearly stated in the documentation ,静态函数(除其他外)不能添加为成员。它们必须在特殊的 .scope 构造中限定范围。

class_<foo>("foo")
.def(constructor<>())
.scope
[
class_<inner>("nested"),
def("f", &f)
];

我不知道 def 的非成员函数版本是否有变量的 readonly 版本,但它可能。如果没有,则您必须将其公开为返回值的函数。

关于c++ - luabind 和静态字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9451657/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com