#include using namespace std; namespace test { int foo() { return 0; } } const // remove the const above and it compiles, as it should. namespace test { int bar() { return 0; } } int main(int argc, char ** argv) { test::foo(); test::bar(); return 0; }