相关疑难解决方法(0)

嵌套数据成员指针 - 不可能?

愚蠢的简化代码示例没有做任何有用的事情,而是对数据成员指针的两个后续分配.第一个分配工作,第二个分配给出编译器错误.大概是因为它是一个嵌套的成员.

问题是:是否真的不可能让成员指针指向嵌套成员,或者我错过了任何花哨的语法?

struct Color {
    float Red;
    float Green;
    float Blue; };


struct Material {
    float Brightness;
    Color DiffuseColor; };


int main() {
    float Material::* ParamToAnimate;
    ParamToAnimate = &Material::Brightness;       // Ok
    ParamToAnimate = &Material::DiffuseColor.Red; // Error! *whimper*
    return 0; }
Run Code Online (Sandbox Code Playgroud)

ATM我通过使用字节偏移和大量演员来解决.但这很难看,我最好使用那些成员指针.

是的,我知道之前肯定会出现这个问题(几乎与任何问题一样).是的,我事先搜查过但发现没有令人满意的答案.

谢谢你的时间.

c++ member-pointers

10
推荐指数
2
解决办法
1094
查看次数

标签 统计

c++ ×1

member-pointers ×1