Когда дело доходит до использования namespaces
это действительно хорошая вещь, чтобы избежать столкновения имен. Но вот что важно для меня: использование anonymous namespaces
,
Здесь, в моем примере, по какой-то причине я определил два безымянных пространства имен, и случайно два имеют функцию-член с одинаковой сигнатурой. И я хочу определить два вне пространств имен.
namespace {
void foo(); // to be defined outside in somewhere else
int x = 0; // I want the above foo() to increment x
}
namespace {
void foo(); // to be defined outside in somewhere else
// I want foo to do something else
}
// Here is my guess how to define a function outside Anonymous NS.
void ::foo() {
cout << "::foo()" << endl;
}
// void foo(){
// cout << "foo()" << endl;
//}
int main(){
foo();
::foo();
cout << endl;
cin.get();
return 0;
}
Спасибо.
Задача ещё не решена.
Других решений пока нет …