title: Creation of a map of pointer to member function
body: <p>I am trying to create a map composed of <code>int</code> and pointer to member function.</p>
  
  <pre><code>class Factory
  {
    public:
      typedef nts::IComponent *(*createFunction)(const std::string &amp;value);
      Factory();
      ~Factory();
      nts::IComponent *createComponent(const std::string &amp;type, const std::string &amp;value);
    private:
      nts::IComponent *create4001(const std::string &amp;value) const;
      nts::IComponent *create4013(const std::string &amp;value) const;
      nts::IComponent *create4040(const std::string &amp;value) const;
      nts::IComponent *create4081(const std::string &amp;value) const;
  
      std::map&lt;int, createFunction&gt; map = {{4001, Factory::create4001},
                                          {4013, Factory::create4013},
                                          {4040, Factory::create4040}};
  };
  </code></pre>
  
  <p>But I have this following error:</p>
  
  <pre><code>includes/Factory.hpp:24:68: error: could not convert ‘{{4001, ((Factory*)this)-&gt;Factory::create4001}, {4013, ((Factory*)this)-&gt;Factory::create4013}, {4040, ((Factory*)this)-&gt;Factory::create4040}}’ from ‘&lt;brace-enclosed initializer list&gt;’ to ‘std::map&lt;int, nts::IComponent* (*)(const std::__cxx11::basic_string&lt;char&gt;&amp;)&gt;’
                                           {4040, Factory::create4040}};
  </code></pre>
  
  <p>Have any idea? </p>