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>
あなたのソースコードに。