【发布时间】:2014-02-19 23:22:14
【问题描述】:
我想编写成员指针。基本上我有一个不同成员的主类。如何为指向该类成员的成员的主类创建成员指针。我希望下面的代码能解释我想要做什么:
struct SubUnit
{
int value;
};
struct Unit
{
SubUnit sub_unit;
};
void Test()
{
SubUnit Unit::* ptr1 = &Unit::sub_unit; // WORKING
int Unit::* ptr2 = &Unit::sub_unit::value; // NOT WORKING !
}
【问题讨论】:
-
::value是一个int,但您将其分配给指向成员的指针? -
你必须创建一个 Unit 对象才能指向某些东西......好吧,没关系。
-
@JohnnyMopp 不一定。
-
不,至少不是那样。
value是SubUnit的成员,而不是Unit。 -
我想知道你想要达到什么目的。将指向成员的指针视为从类的“开始”到成员的偏移量。此外,您在那里没有“子类”。它只是一个成员对象。
标签: c++ composition member-pointers