次のコードは正しく機能します。
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++
}