I was browsing section 7.3.1.1 in the C ++ 03 standard, expecting to find some description of access rules for elements defined in an unnamed namespace.
The rules appear to be slightly different for unnamed namespaces, since you cannot fully qualify access to elements in one. I know that, at least within the same translation unit, you can access elements in an unnamed namespace, as if they were not in the namespace. For instance:
namespace {
int foo;
}
void something()
{
foo = 4;
}
If the namespace has a name, you could not do this. So, where are the rules defined in the standard for these exceptional rules that apply to unnamed namespaces?