如何引用另一个结构内部的结构成员?

时间:2017-11-04 17:11:41

标签: c++ struct

我是这样尝试的:

(*point).member1.member2

但它不起作用。

1 个答案:

答案 0 :(得分:0)

  

如何引用另一个struct内部结构的成员?

有点不清楚你要求的是什么,但可能这就是你想要做的事情:

struct A {
    struct B {
        void f() {}
    };
};

int main() {
    // pointer to member function of B
    // to which A::B::f is assigned
    void (A::B::*member)() = &A::B::f;

    A::B b{};

    // invoke member on b, equivalent to b.f()
    (b.*member)();
}

member是指向另一个类中定义的类成员的指针,如标题中所述。
main的最后一行只是调用 b的成员。它相当于b.f();