If there is a better place for such a basic question I would appreciate a pointer to said place, otherwise...<br><br>I am trying to insert a new entry into a linked list. I cannot however seem to even get the function declaration right. I keep getting errors like this from gcc.<br>
<br>gcc -o insert insertEntry.c<br>insertEntry.c:8: warning: ‘struct entry’ declared inside parameter list<br>insertEntry.c:8: warning: its scope is only this definition or declaration, which is probably not what you want<br>
insertEntry.c: In function ‘main’:<br>insertEntry.c:20: error: conflicting types for ‘insertEntry’<br>insertEntry.c:8: note: previous definition of ‘insertEntry’ was here<br> <br><br>void insertEntry (struct entry *new, struct entry *here) //this is line 8<br>
{<br> .....<br>}<br><br>int main (void)<br>{<br>  void insertEntry (struct entry *new, struct entry *here);  // this is line 20<br>  <br> ......<br>}<br><br>I have tried many variations on it but I don&#39;t seem to be able to get it right. Should I not declare insertEntry() in main?<br>
I was under the impression that you should always put a prototype declaration in main. <br>According to the book I am reading you have to declare the pointer to be of the appropriate type in the function declaration. <br>
So I don&#39;t understand  the warning, which I might ignore, though I&#39;d rather not but then I get the conflicting types error and the <br>party stops there. <br><br><br>gcc --version<br>gcc (GCC) 4.4.2 20091222 (Red Hat 4.4.2-20)<br>
<br>