Как получить доступ к переменной в своём 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, то всё работает.


Ответы (1 шт):

Автор решения: Harry

Например, так:

namespace fo
{
    extern int value;
}

int main() {
    std::cout << fo::value << std::endl;
    return 0;
}

Компилятор же не знает, что такое fo...

→ Ссылка