gpt4 book ai didi

c++ - 类内类访问外部类的数据成员

转载 作者:太空狗 更新时间:2023-10-29 23:53:04 25 4
gpt4 key购买 nike

我正在尝试这样做,

class Outer {
public:
struct inner_t {
void foo()
{
printf("%d", _x);
}
};
int _x;
};

int main()
{
Outer o;
o._x = 10;
}

以上无法编译错误:

error: invalid use of non-static data member ‘Outer::_x’

但根据this post , inner_t 确实可以访问Outer::_x, 怎么了?

最佳答案

问题是:inner_t 不知道要从中读取 _xOuter 实例。

如果你写过(例如):

void foo(const Outer *o)
{
printf("%d", o->_x);
}

或者如果 _xOuter 的静态成员。然后它应该可以工作(至少不会出错)。

关于c++ - 类内类访问外部类的数据成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12724661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com