title: Why doesn't the C++11 'auto' keyword work for static members?
body: <pre><code>class Foo {
   public:
    static const char *constant_string;
  };
  
  auto Foo::constant_string = "foo";
  
  int main(void) {
  };
  </code></pre>
  
  <p>Compiled with: gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 like this:</p>
  
  <pre><code>gcc -std=c++0x ./foo.cc 
  ./foo.cc:6:11: error: conflicting declaration ‘auto Foo::constant_string’
  ./foo.cc:3:22: error: ‘Foo::constant_string’ has a previous declaration as ‘const char* Foo::constant_string’
  ./foo.cc:6:11: error: declaration of ‘const char* Foo::constant_string’ outside of class is not definition [-fpermissive]
  </code></pre>
  
  <p>Is this intended behavior of the <code>auto</code> keyword, or a bug in gcc+</p>