title: error C2436 member function or nested class in constructor initializer list
body: <p>I have a function pointer declared in my header, like this:</p>
  
  <pre><code>typedef void (intCB)(int );
  </code></pre>
  
  <p>and I have a class member declared like this:</p>
  
  <pre><code>private:
    intCB m_intCB;
  </code></pre>
  
  <p>In my constructor's initialization list I want to initialize it with 0:</p>
  
  <pre><code>MyClass::MyClass : m_intCB(0)
  {
     #ifdef SOMETHING
     m_intCB = &amp;someOtherFunc;
     #endif
  }
  </code></pre>
  
  <p>Only if a specific define is in place, I want to set m_intCB to it, if not I want to keep it on 0. The problem with the above code is that I receive:</p>
  
  <pre><code>error C2436: 'm_intCB' : member function or nested class in constructor initializer list
  </code></pre>
  
  <p>How can I fix it?</p>