title: How to initialize stl map when they are defined as static variable as a class memebers
body: <p>I am getting linker error, for the following code. I want to know how do I initialize <code>stl map</code> </p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;map&gt;
  #include &lt;string&gt;
  
  class Test {
  public:
    Test() {
    }
    static void setSerializer(void* fnptr, std::string className) {
      m_registry.insert(std::make_pair(className, fnptr));
    }
    static void* getSerializer(std::string className) {
      return m_registry.find(className)-&gt;second;
    }
  private:
    static std::map&lt;std::string, void*&gt; m_registry;
  };
  
  void fn() {
  }
  
  int main() {
    Test::setSerializer(&amp;fn,"abc");
    return 0;
  }
  </code></pre>