title: Namespace member definition
body: <pre><code>namespace M{
     void f();
     void M::f(){}
  }
  
  int main(){}
  </code></pre>
  
  <p>The above code gives error like so:</p>
  
  <blockquote>
    <p>"ComeauTest.c", line 3: error:
    qualified name is not allowed in
    namespace member
              declaration
         void M::f(){}</p>
  </blockquote>
  
  <p>And</p>
  
  <blockquote>
    <p>G++ also gives error.</p>
  </blockquote>
  
  <p>But</p>
  
  <blockquote>
    <p>VS2010 compiles fine.</p>
  </blockquote>
  
  <p>My questions are:</p>
  
  <p>a) What is the expected behavior?</p>
  
  <p>b) $7.3.1.2 does not seem to talk about this restriction. Which portion of the Standard guides the behavior of such code?</p>