2010-12-10 11 views
0

私はこの警告を受け取りました。警告:割り当ては、キャストのない整数からポインタを作成し、次のコードについては理解できません。ポインタのキャスト警告2つのunsigned 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

ゆうじさん、ありがとうございますが、私は警告メッセージをよく読んでいます。申し訳ありませんが、私は同じことを同時にコーディングしていますが、dataArrayステートメントでポインタを見たことがありません。とにかくありがとうございました。 –

関連する問題