title: could not convert ... from '<brace-enclosed initializer list>' to map
body: <p>I'm trying to fix a specific failure now for about two hours and I'm done with my knowledge. Any Ideas?</p>
  
  <h2>The Failure:</h2>
  
  <pre><code>could not convert '{{TEST1, (&amp; ffm::cond_test1)}, {TEST2, (&amp; ffm::cond_test2)}}' from '&lt;brace-enclosed initializer list&gt;' to 'std::map&lt;ffm::conditions, bool (*)()&gt;'
  </code></pre>
  
  <h2>The code:</h2>
  
  <pre><code>#include &lt;map&gt;
  #include &lt;iostream&gt;
  
  namespace ffm {
      typedef bool (*condFunction)();
  
      enum conditions {
          TEST1 = 0,
          TEST2
      };
  
      bool cond_test1();
      bool cond_test2();
  }
  
  using namespace ffm;
  
  bool cond_test1()
  {
      std::cout &lt;&lt; "cond_test1 is always TRUE" &lt;&lt; std::endl;
      return true;
  }
  
  bool cond_test2()
  {
      std::cout &lt;&lt; "cond_test2 is always FALSE" &lt;&lt; std::endl;
      return false;
  }
  
  int main() {
      std::map&lt;conditions, condFunction&gt; condFuncMap = { 
          {conditions::TEST1, &amp;cond_test1}, 
          {conditions::TEST2, &amp;cond_test2} };
  
  }
  </code></pre>
  
  <p>I'm using gcc4.8.4</p>