gpt4 book ai didi

c++ - 具有结构的嵌套类的范围

转载 作者:行者123 更新时间:2023-11-28 07:46:41 24 4
gpt4 key购买 nike

有人可以解释 void func()void func1 中 int Aint B 的范围吗()?

class C {
struct S {
int A;
};

int B

public :
void func(){
}
void func1(){
}
};

最佳答案

不确定我是否完全理解您的要求,但如果我理解,我会尽力回答。

函数 func()func1()C 的成员函数,因此它们在这里对完全相同的名称具有相同的访问权限。变量BC的成员变量,可以直接用func()func1()引用无需使用任何 namespace 对其进行限定。

变量 A 另一方面,作为 S 的公共(public)非静态成员变量,需要首先实例化 S 类型的对象> 在被访问之前,像这样:

void func()
{
S s;
B = 0; // Directly accessible, member variable of `C`
s.A = B; // A is a non-static member variable of `S`, requires an object
A == 3; // ERROR! A is not a member variable of C
}

关于c++ - 具有结构的嵌套类的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14788362/

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