How to sort functions in C? "previous implicit declaration of a function was here" error

c, function

Solution

You need to declare (not define) at least one function before using it.

function2();                 /* declaration */
function1() { function2(); } /* definition */
function2() { function1(); } /* definition */

int main(void) { function1(); return 0; }

Problem

I'm sure this has been asked before, but I couldn't find anything that would help me. I have a program with functions in C that looks like this ``` function2(){ function1() } function1 (){ function2() } main () { function1() } ``` It's more complicated than that, but I'm using recursion. And I cannot arrange the function in the file so that every function would only call functions that are specified above itself. I keep getting an error ``` main.c:193: error: conflicting types for 'function2' main.c:127: error: previous implicit declaration of 'function2' was here ``` How do I avoid this? Thanks in advance for suggestions and answers.

Original source