Fil*_*efp 36
仅仅因为你声明你的struct B内部class A并不意味着一个实例class A自动具有struct B作为成员的属性,也不意味着它自动具有struct B作为成员的实例.
除了范围之外,两个类(A和B)之间没有真正的关系.
struct A {
struct B {
int v;
};
B inner_object;
};
int
main (int argc, char *argv[]) {
A object;
object.inner_object.v = 123;
}
Run Code Online (Sandbox Code Playgroud)
Joh*_*web 10
目前尚不清楚你实际想要实现的目标,但这里有两种选择:
class E
{
public:
struct X
{
int v;
};
// 1. (a) Instantiate an 'X' within 'E':
X x;
};
int main()
{
// 1. (b) Modify the 'x' within an 'E':
E e;
e.x.v = 9;
// 2. Instantiate an 'X' outside 'E':
E::X x;
x.v = 10;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
97663 次 |
| 最近记录: |