2010-12-10 3 views
0

경고 : 할당은 캐스팅없이 캐스팅되지 않은 정수에서 포인터를 만들고 다음 코드에 대한 이유를 이해할 수 없습니다.포인터 캐스팅 경고 두 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 문에서 포인터를 보지 못했어요. 어쨌든 고맙습니다. –

관련 문제