【发布时间】:2012-12-28 09:46:23
【问题描述】:
以下代码可以正常工作:
file1.cpp
//global variable
int g_myvar1 = 5;
file2.cpp
int myfunc()
{
extern int g_myvar1;
g_myvar1++
}
如果file1.cpp如下怎么办file2.cpp:
file1.cpp
namespace myns
{
//global variable
int g_myvar1 = 5;
}
注意1,以下给出了 GCC 4.7 上的编译错误“无效使用限定名”。我也尝试了“使用命名空间”,但也没有运气。
int myfunc()
{
extern int myns::g_myvar1;
g_myvar1++
}
注意2,以下工作,但我正在寻找仅局部变量定义。
namespace myns
{
//global variable
extern int g_myvar1;
}
int myfunc()
{
myns::g_myvar1++
}
【问题讨论】:
标签: c++ namespaces extern