C++03 Standard 7.3.1.1 [namespace.unnamed] paragraph 1: (and C++11 Standard also use similar definition)
An unnamed-namespace-definition behaves as if it were replaced by
namespace unique { /* empty body */ } using namespace unique; namespace unique { namespace-body }
Why not is it simply following definition?
namespace unique { namespace-body }
using namespace unique;
Side question: MSDN defines by latter form. Does it violate Standard technically?