2013-05-28 27 views
-1

我已經在幾個線程中搜索了正確的答案,但是找不到我確切的問題: 在我的程序中,我創建了一個數組,我想在循環中填入某些日期。問題是這個任務 - 因爲我真的不知道如何描述它(我完全沒有使用C語言編程的經驗),我會發布一些代碼:正在初始化數組 - 警告:賦值會使指針中的整數沒有轉換

int * array [] = malloc(w * h * sizeof(int));

array [i] =(SDL_MapRGB(fmt,red,green,blue));

因此,第一行創建我的數組,並在第二行中,我實際上想要在此數組中的第i個位置寫入函數「SDL_MapRGB」的結果,這是一個整數。 (因爲這是循環的一部分,所以在整個數組結束時我會填充整個數組)。

而這是我得到的錯誤: 錯誤:賦值使整數指針無一個演員[ - 錯]

有誰知道我該如何解決這個問題?我仍然(在閱讀舊線程後)不明白這意味着什麼。我會非常感謝任何幫助:)

回答

0

因爲你的聲明是錯誤的。 int *array[]是一個指針數組。由於您使用的是一維數組,所以您只需要int *array即i。即放下括號。

0

array[i]是一個指針,而功能SDL_MapRGB()返回一個整數,這是警告的原因。

更改您的數組聲明:

int *array = malloc (w*h*sizeof(int)); 
相關問題