2017-11-04 5 views

Antwort

0

Wie mache ich einen Verweis auf ein Mitglied einer Struktur, die innerhalb einer anderen Struktur ist?

ein wenig unklar, was Sie, fragen aber wahrscheinlich ist es das, was Sie zu tun versuchen:

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 ein Zeiger auf ein Mitglied einer Klasse ist, die innerhalb einer anderen Klasse definiert ist, wie in Ihrem Titel erwähnt.
Die letzte Zeile von main nur ruft das Mitglied für b auf. Es entspricht b.f();.

Verwandte Themen