我目前正在用 C 编写一个程序。一切正常,但是在尝试“make”时我收到了一些警告:
src/command.c: In function ‘cmd_create’:
src/command.c:43:3: warning: implicit declaration of function ‘iterator_init’ [- Wimplicit-function-declaration]
iterator_init(&it);
^
src/command.c:49:6: warning: implicit declaration of function ‘iterator_destroy’ [- Wimplicit-function-declaration]
iterator_destroy(&it);
^
src/command.c: At top level:
src/command.c:218:6: warning: conflicting types for ‘iterator_init’ [enabled by default]
void iterator_init(iterator *it) {
^
src/command.c:43:3: note: previous implicit declaration of ‘iterator_init’ was here
iterator_init(&it);
^
src/command.c:245:6: warning: conflicting types for ‘iterator_destroy’ [enabled by default]
void iterator_destroy(iterator *it) {
^
src/command.c:49:6: note: previous implicit declaration of ‘iterator_destroy’ was here
iterator_destroy(&it);
^
我的研究表明,这通常发生在函数在实际调用之后声明时。
但是我已经将函数的原型正确地放在了我的头文件中,所以想知道还有什么可能导致这种情况。我的makefile可能设置不正确吗?
我的应用程序的源代码位于https://github.com/fish-guts/concurrent