声明类指针变量外部班级

Declaring class pointer variable outside class

本文关键字:外部 变量 指针 声明      更新时间:2023-10-16

因此,假设我们在 header 文件中有以下结构:

struct x {
    struct y {
        int a;
        y* b;
        y(int _a, y* _b) {
            a = _a;
            b = _b;
        }
    };   
    void z() {
        y* c = NULL;
    }
};

我们也有 main 文件,看起来像这样:

void f() {
    //place for new pointer from question below
}
int main() {
    ...
}

是否有可能在 f 中键入新的 y 键入指针,这将适用于 f same c c c >指针适用于 z (指针可以在 y 上进行操作,并且不能在功能外使用)?

类型y嵌套在x中,因此要从外部访问它,您必须将其与x和范围分辨率操作员::一起前缀。

void f() {
   x::y* c = nullptr;
}

应该工作。