0

そのwarning: return makes pointer from integer without a castため、構造体へのポインターを作成しようとすると、エラーが発生します。

構造:

typedef struct _book_
{
    char *title;
    char *cat;
    double price;
}Book_T;

コード:

Book_T *book;
...
if((book = malloc(sizeof(Book_T))) == NULL) return 1;

構造体は別の .h ファイルで宣言されていますが、それが含まれていることを再確認しました。私はこれでちょっと迷っています

4

1 に答える 1

3

shf301 と Brian の助けを借りて私自身の質問に答えるために、問題は実際の戻り値の型であり、malloc() とは何の関係もありません。正しいコードは次のようになります。

if((book = malloc(sizeof(Book_T))) == NULL) return NULL;
于 2012-12-15T06:13:41.993 に答える