멤버에 대한 포인터를 사용하여 복합 클래스 데이터 멤버에 액세스 할 수 있습니까? 다음 코드는 유효하지 않지만 필요성을 보여줍니다. 예를 들어C++ : 복합 클래스 데이터 멤버에 대한 포인터
:
class A
{
public:
float fA;
};
class B
{
public:
float fB;
A a;
};
void test()
{
// Use of member pointer to access B::fB member
float B::*ptr = &B::fB; // -> OK
B myB;
myB.*ptr = 25.;
// Use of member pointer to access B::a.fA member ???
float B::*ptr2 = &B::a.fA; // -> ERROR
B myB.*ptr2 = 25.;
}
I이 완료했습니다 여기 내 질문 : Pointer to composite class data member - Part 2
왜이 작업을 원하십니까? –
@RogerRowland : 왜 묻는 거니? – 6502
@ 6502 왜냐하면 그것은 매우 드문 질문이기 때문에 문제를 해결하는 완전히 다른 방법이있는 경우가 종종 있습니다. –