Ich habe versucht, auf diese Weise:Wie mache ich einen Verweis auf ein Mitglied einer Struktur, die innerhalb einer anderen Struktur ist?
(*point).member1.member2
Aber es funktioniert nicht.
Ich habe versucht, auf diese Weise:Wie mache ich einen Verweis auf ein Mitglied einer Struktur, die innerhalb einer anderen Struktur ist?
(*point).member1.member2
Aber es funktioniert nicht.
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();
.
Ohne mehr Details zu antworten und "funktioniert nicht" ist keine nützliche Problembeschreibung. – molbdnilo