【问题标题】:Referencing namespace from another class从另一个类引用命名空间
【发布时间】:2013-10-17 06:19:35
【问题描述】:

我有一个名为 GeoSheet 的类;

#include "stdafx.h"
#include "GeoSheet.h"

namespace A {
    int isClosable; 
    double x; 
}

void CGeoSheet::OnOK()  
{
    A::isClosable = 0;
    CPropertySheet::OnClose();
}

我想从另一个名为 test.cpp 的文件中访问和修改变量“isClosable”

#include "stdafx.h"
#include "test.h"
#include "GeoSheet.h"

void main(){
    //access variable
}

我如何做到这一点。我想访问该变量而不必实例化 GeoSheet 的实例。
谢谢。

【问题讨论】:

    标签: c++ visual-c++ namespaces


    【解决方案1】:

    isClosable 不属于任何类;它只是放在命名空间中的全局变量。您可以在 main 中使用它,就像在类方法中使用它一样,没有区别。

    【讨论】:

    • 如果我只在 main() 中使用 A::isClosable 我会收到以下错误;错误 C2653:“A”:不是类或命名空间名称,“isClosable”:未声明的标识符
    • 您需要包含包含此命名空间的标头,因此需要包含变量声明。
    • 我正在使用#include "GeoSheet.h",我应该使用其他的吗?
    • 您应该包含包含以下内容的文件:namespace A { int isClosable; double x; }
    • @Madz 我认为您需要的不是访问isClosable,而是对 C++ 语言有更扎实的理解。看起来你正在做货物狂热的编程,而几乎不了解 C++ 语法。
    猜你喜欢
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    相关资源
    最近更新 更多