title: c++ (non-built in/class) static member
body: <pre><code>#include &lt;iostream&gt;
  #include &lt;string&gt;
  
  class c1
  {
   public:
    static std::string m1;
    static unsigned int m2;
  };
  
  //std::string c1::m1 = std::string;
  unsigned int c1::m2 = 0;
  
  void main()
  {
   c1 a;
   //std::cout&lt;&lt;a.m1&lt;&lt;std::endl;
   std::cout&lt;&lt;a.m2&lt;&lt;std::endl;
  }
  </code></pre>
  
  <p>In this program enabling the two remarked lines causes an error on the first.</p>
  
  <p>error C2275: 'std::string' : illegal use of this type as an expression</p>
  
  <p>What am I doing wrong?</p>