#include namespace test { int I = 9; } void funk1(); void funk2(); void funk3(); int main() { funk1(); funk2(); funk3(); } void funk1() { std::cout << test::I << std::endl; // This is OK test is visible from above // std::cout << I << std::endl; // Compile error I is not qualified using namespace test; std::cout << I << std::endl; // OK, now } void funk2() { std::cout << test::I << std::endl; // This is OK test is visible from above // std::cout << I << std::endl; // Compile error I is not qualified } using namespace test; void funk3() { std::cout << I << std::endl; // OK, now }