2010-12-10 78 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