2010-12-10 76 views
0

我收到此警告,警告:賦值使指針從整數沒有轉換,關於下一個代碼,我無法理解爲什麼。指針之間兩個無符號char *值鑄造警告

unsigned char *dataBitmap = [self bitmapFromImage:image]; 
unsigned char *dataArray[(int)image.size.height][(int)image.size.width * 4]; 

for (int i = 0; i < image.size.width * image.size.height * 4; i += 4) { 

    int aux = (int) i/4; 
    int row = (int)(aux/image.size.width); 
    int column = i % ((int)image.size.width * 4); 

    // Alpha. 
    dataArray[row][column] = dataBitmap[i]; 
    // Red. 
    dataArray[row][column + 1] = dataBitmap[i + 1]; 
    // Green. 
    dataArray[row][column + 2] = dataBitmap[i + 2]; 
    // Blue. 
    dataArray[row][column + 3] = dataBitmap[i + 3]; 
} 

感謝您的閱讀。

回答

0
unsigned char *dataArray[(int)image.size.height][(int)image.size.width * 4]; 

應該

unsigned char dataArray[(int)image.size.height][(int)image.size.width * 4]; 

閱讀錯誤消息,並認爲!它說,你在某種程度上是從一個整數(或類似的東西)製作一個指針。這意味着你使用了一個指針,你應該使用一個整數,反之亦然。從頭到尾閱讀你的代碼,你使用了指針和整數。

+0

謝謝Yuji,但我已經讀好警告信息。對於這個問題抱歉,我在同一時間編碼的東西,我沒有看到dataArray語句中的指針。不管怎樣,謝謝你。 – 2010-12-10 18:01:48