admin管理员组

文章数量:1399313

Given classes and their members:

struct A
{
    int member;
};

struct B
{
    A a;
};

I can use nanobind to export member of a as:

NB_MODULE(foo, m)
{
    nanobind::class ::_<B>(m, "B")
        .def(nanobind::init<>())
        .def("member_of_a", [](B &b) -> int
             { return b.a.member; });
}

Is there anyway to export member without using the lambda, I've tried something like

NB_MODULE(foo, m)
{
    nanobind::class ::_<B>(m, "B")
        .def(nanobind::init<>())
        .def("member_of_a", &B::a.member); // does not compile
}

but it doesn't work.

Thanks for any hint.

本文标签: cHow to export a member of a member of a classStack Overflow