在类外声明类指针变量

时间:2017-09-19 01:35:53

标签: c++ class oop scope

因此,假设我们在 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 相同的 c 指针适用于 z (指针可以在 y 类型上运行,不能在函数外部使用)?

1 个答案:

答案 0 :(得分:0)

y类型嵌套在x内,因此要从外部访问它,您必须在其前面添加x和范围解析运算符::

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

应该有用。