-2
我有這樣一段代碼:的malloc:投給指針從不同大小的整數[-Wint到指針鑄]
...
#include <stdlib.h>
...
typedef struct tToken
{
tState state; //stav lexemu
char *data; //hodnota lexemu
int row; //radek lexemu
int column; //sloupec lexemu
}tToken;
tToken token;
...
void *gcMalloc(int dataSize){
...
void *AllocatedData = (void*)malloc(dataSize);
return AllocatedData;
}
...
if(token.data == NULL)
token.data = (char *) gcMalloc(sizeof(char)); //there is the problem
但錯誤
警告:投給來自不同大小整數的指針[-Wint-to-pointer-cast]
仍然存在...有人可以解釋我爲什麼嗎?以及如何改變它?
您需要'#include'來使用'malloc'。 (我假設警告是在'malloc'調用的,如果沒有,請更新你的問題。)我確定這是重複的,但我懶得跟蹤它。 –
2014-10-09 21:27:57
編輯:)你可以看看它嗎? – 2014-10-09 21:30:34
聲明'gcMalloc'在哪裏?可能你需要爲任何頭文件聲明它添加一個'#include'指令。 (並且不要將'malloc'或'gcMalloc'的結果強制轉換爲'void *',而是將'void *'值隱式轉換爲目標指針類型。轉換是不必要的,並且可以屏蔽錯誤) – 2014-10-09 21:32:08