相关疑难解决方法(0)

指针到"内部结构"成员是否被禁止?

我有一个嵌套的结构,我想有一个嵌入成员之一的指向成员的指针:

这合法吗?

struct InnerStruct
{
    bool c;
};
struct MyStruct {
    bool t;
    bool b;
    InnerStruct inner;
}; 
Run Code Online (Sandbox Code Playgroud)

这个:

MyStruct mystruct;
//...
bool MyStruct::* toto = &MyStruct::b;
Run Code Online (Sandbox Code Playgroud)

没问题,但是:

bool MyStruct::* toto = &MyStruct::inner.c;
Run Code Online (Sandbox Code Playgroud)

不是.任何的想法?

谢谢

这里有一些细节是的,它是&MyStruct :: b而不是mystruct :: b; 代码来自自定义RTTI/Property系统.对于每个指定的类,我们保留一个"Property"数组,包括一个Ptr-to-member它的用法如下:

//somewhere else in code...
( myBaseClassWithCustomRTTIPointer)->* toto = true;
Run Code Online (Sandbox Code Playgroud)

c++ pointers

18
推荐指数
3
解决办法
4073
查看次数

标签 统计

c++ ×1

pointers ×1