下面的代碼工作正常:的extern局部變量
file1.cpp
//global variable
int g_myvar1 = 5;
file2.cpp
int myfunc()
{
extern int g_myvar1;
g_myvar1++
}
我該怎麼辦file2.cpp如果file1 .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++
}
+1用於使用關鍵字的新用法。但是這仍然需要在void f()之前聲明「namespace mynm {extern int g_myvar1;}」。() – Yousf
@yousf:是的,最好是在'.h'文件中聲明它們,並且在'中定義它們。 cpp'文件。 – Nawaz