Xcode 5では、次の警告が表示されます。
「関数freeの暗黙の宣言はc99では無効です」
関数free()を使用できない場合、どのようにc構造体を解放する必要がありますか?
<stdlib.h>
を含める必要があります。
最初に宣言せずに関数を呼び出しているため、コンパイラーは関数を知らないため、この警告が表示されます。
すべての関数は、呼び出す前に宣言する必要があります。Cには「組み込み」関数はありません。
free()
が標準で定義されている関数であることは事実ですが、まだ組み込まれていません。プロトタイプが必要です。
どのヘッダーにプロトタイプがあるかを調べるには、「man free」を検索して Linuxマニュアルページ を探してください。上部に近い、それは言う:
#include <stdlib.h>
void *malloc(size_t size);
void free(void *ptr);
void *calloc(size_t nmemb, size_t size);
void *realloc(void *ptr, size_t size);
これは、リストされた関数を使用するために、以下を追加する必要があることを示しています。
#include <stdlib.h>
ソースコードに。