63

以前にも同様の質問がたくさんあったことは知っていますが、この警告を修正するものを見つけることができませんでした:

MyIntFunctions.c:19:2: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration]

ここで発生します:

void IntPrint (const void *key)
{
    printf("%d", *(int*)key); // line 19
    printf("\t-->\t");
}

同様の警告:

MyStringFunctions.c:22:2: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration]

void StringPrint (const void *key)
{
    printf("%s",(char*)key); //line 22
    printf("\t-->\t");
}

何が悪いのかを本当に理解したいので、今後はやりません。

4

3 に答える 3

97

適切なヘッダーを含める必要があります

#include <stdio.h>

標準関数が定義されているヘッダーがわからない場合は、関数のマニュアル ページにそのことが記載されています。

于 2012-12-28T12:00:45.763 に答える
15

関数の宣言を含める必要がありprintf()ます。

#include <stdio.h>
于 2012-12-28T12:03:35.390 に答える
3

IMPLICIT DECLARATIONの種類の警告またはエラーは、コンパイラが関数宣言/プロトタイプを予期していることです。

ヘッダーファイルまたは独自の関数Declarationのいずれかである可能性があります。

于 2012-12-28T13:33:30.600 に答える