title: Can Someone Explain what this Means? void (*func)();
body: <p>I have a struct that has a element in it denoted as <code>void (*func)();</code> I know that void pointers are usually used for function pointers but I cannot seem to define the function. I keep getting <code>dereferencing pointer to incomplete type</code>. I googled around but to no avail. Any advice would be appreciated.</p>
  
  <p>I am trying to do this:</p>
  
  <pre><code>struct callback * cb;
  cb-&gt;func = *readUserInput;
  </code></pre>
  
  <p>ReadUserInput is defined as:</p>
  
  <pre><code>void readUserInput(void)
  {
  }
  </code></pre>
  
  <p>And Callback is defined as such:</p>
  
  <pre><code>struct callback {
      void (*func)();
      int pcount;
      enum attr_type type;
      void *p[0];
   };
  </code></pre>