warning: implicit declaration of function

Angus picture Angus · Dec 9, 2011 · Viewed 712.7k times · Source

My compiler (GCC) is giving me the warning:

warning: implicit declaration of function

Please help me understand why is it coming.

Answer

cnicutar picture cnicutar · Dec 9, 2011

You are using a function for which the compiler has not seen a declaration ("prototype") yet.

For example:

int main()
{
    fun(2, "21"); /* The compiler has not seen the declaration. */       
    return 0;
}

int fun(int x, char *p)
{
    /* ... */
}

You need to declare your function before main, like this, either directly or in a header:

int fun(int x, char *p);