title: Issue in function pointer
body: <p>In a.hpp file</p>
  <pre><code>class trees
  {
      public:
          virtual void func();
      private:
          void world(uint8_t alpha, uint8_t beta);
  }
  </code></pre>
  <p>In a.cpp</p>
  <pre><code>#include &quot;a.hpp&quot;
  void trees::world(uint8_t alpha, uint8_t beta)
  {
      
  }
  void trees::func()
  {
      hello( hi, world ); //error
  }
  </code></pre>
  <p>where <code>hello</code> and <code>plant</code> are as follows in a separate file:</p>
  <pre><code>int hello(struct b* c, plant d);  
  typedef void plant(uint8_t alpha, uint8_t beta); 
  </code></pre>
  <p>The 2<sup>nd</sup> argument gives error saying that <code>(tress::*) is not compatible with parameter of type world</code></p>
  <p>I understand I need to instantiate the obj but I do not know how to do it.</p>