Der folgende Code funktioniert einwandfrei:extern lokale Variable für die globale Variable innerhalb Namespace
file1.cpp
//global variable
int g_myvar1 = 5;
file2.cpp
int myfunc()
{
extern int g_myvar1;
g_myvar1++
}
Wie kann ich tun, wenn file1 file2.cpp .cpp ist wie folgt:
file1.cpp
namespace myns
{
//global variable
int g_myvar1 = 5;
}
NOTE1, folgender Kompilierungsfehler auf GCC 4.7 "ungültig Verwendung qualifizierter-namen". Ich habe 'namespace' auch ohne Glück versucht.
NOTE2, das folgende funktioniert, aber ich suche nur-lokale variable Definition.
namespace myns
{
//global variable
extern int g_myvar1;
}
int myfunc()
{
myns::g_myvar1++
}
+1 für die neue Verwendung von Keyword. Aber das erfordert immer noch die Deklaration von "namespace mynm {extern int g_myvar1;}" vor void f() – Yousf
@Yousf: Ja, es ist besser, sie in '.h' zu deklarieren * und * in * zu definieren. cpp' Datei. – Nawaz