Предупреждение о приведении указателя между двумя неподписанными символами * Значения - PullRequest
0 голосов
/ 10 декабря 2010

Я получаю это предупреждение, предупреждение: назначение делает указатель из целого числа без преобразования, о следующем коде, и я не могу понять, почему.

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];
}

Спасибо за чтение.

1 Ответ

0 голосов
/ 10 декабря 2010
unsigned char *dataArray[(int)image.size.height][(int)image.size.width * 4];

должно быть

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

Прочтите сообщение об ошибке и подумайте!Это говорит о том, что вы каким-то образом делаете указатель из целого числа (или чего-то подобного). Это означает, что вы использовали указатель, где вы должны использовать целое число, или наоборот.Прочитайте ваш код от начала до конца, где вы использовали указатели и целые числа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...