warning: implicit declaration of function

前端 未结 7 898
旧时难觅i
旧时难觅i 2020-11-22 02:19

My compiler (GCC) is giving me the warning:

warning: implicit declaration of function

Please help me understand why is it coming

7条回答
  •  谎友^
    谎友^ (楼主)
    2020-11-22 03:04

    The right way is to declare function prototype in header.

    Example

    main.h

    #ifndef MAIN_H
    #define MAIN_H
    
    int some_main(const char *name);
    
    #endif
    

    main.c

    #include "main.h"
    
    int main()
    {
        some_main("Hello, World\n");
    }
    
    int some_main(const char *name)
    {
        printf("%s", name);
    }
    

    Alternative with one file (main.c)

    static int some_main(const char *name);
    
    int some_main(const char *name)
    {
        // do something
    }
    

提交回复
热议问题