我正在尝试从类导出静态字段:
class Foo
{
const static int Var;
};
// luabind module:
.def_readonly("Var", &Foo::Var);
// I've also tried
.def_readonly("Var", Foo::Var);错误:调用“luabind::class_::def_readonly( const 6,const&)”没有匹配函数--注意: template luabind::class_& luabind::class_::def_readwrite(const char*,D C::*)
我错过了什么?
发布于 2012-02-26 08:43:08
正如文件中明确指出的那样、静态函数(以及其他功能)不能作为成员添加。它们必须在一个特殊的.scope结构中限定作用域。
class_<foo>("foo")
.def(constructor<>())
.scope
[
class_<inner>("nested"),
def("f", &f)
];我不知道def的非会员函数版本是否有用于变量的readonly版本,但它可能有。如果没有,则必须将其公开为返回值的函数。
https://stackoverflow.com/questions/9451657
复制相似问题