Как получить доступ к переменной в своём namespace
// vars.cpp
namespace fo {
int value = 10;
}
// u8.cpp
#include <iostream>
extern int fo::value;
int main() {
std::cout << fo::value << std::endl;
return 0;
}
Программа не компилируется, ошибка:
..\src\u8.cpp:4:12: error: 'fo' has not been declared
Если убрать namespace, то всё работает.
Источник: Stack Overflow на русском