我不理解對我的代碼的警告。這似乎很簡單,但我簡單不明白。這是有問題的代碼:關於不兼容的指針類型的警告
chunk* findChunk(chunk *ptr, int size)
{
...
chunk *newNode = ptr->end + size;
...
}
塊是我剛纔所定義的結構:
typedef struct chunk
{
int size;
int available;
struct chunk* next;
char end[1];
} chunk;
這是警告我收到:
warning: initialization from incompatible pointer type [enabled by default]<br>
chunk *newNode = ptr->end + size;
我不能我明白,newNode和ptr是相同的類型。我錯過了什麼?感謝你們。
'newNode'和'ptr'屬於同一類型,但'ptr-> end + size'(與'ptr-> end'類型相同)是'char *'類型。 – mafso 2014-09-28 12:44:12