title: redeclared as different kind of symbol error
body: <p>I have an .h file with the following declarations:</p>
  
  <pre><code>typedef SetElement (*copySetElements)(SetElement);
  typedef void (*freeSetElements)(SetElement);
  typedef int (*compareSetElements)(SetElement, SetElement);
  </code></pre>
  
  <p>and another .h file with the following delarations:</p>
  
  <pre><code>   SetElement copySetElements (SetElement element);
     void freeSetElements (SetElement element);
     int compareSetElements (SetElement element1, SetElement element2);
  </code></pre>
  
  <p>And I get the error: redeclared as different kind of symbol </p>
  
  <p>in the second .h file (where I decalared the functions)</p>
  
  <p>Once I change their names it dissapearrs. why?</p>