Мне нужно работать с полем 2d, которое всегда имеет 2 столбца. У меня есть указатель на поле для этогоУказатель на поле - ошибка присвоения/предупреждение
int (*field)[2];
field = (int (*)[2]) malloc(rows * sizeof(*field)); /*further there will be also reallocating*/
Проблема возникает, когда я вызываю этот указатель на поле в другую функцию. Я вызываю эту функцию, но при назначении ее исходному полю в главном появляется ошибка/предупреждение. Я действительно пробовал уже так много версий, никто из них не работает.
int * function (int rows, int columns, int match, int **differentField) {
int i, j;
int (*field)[2];
int foundMatch = 0;
field = (int (*)[2]) malloc(rows * sizeof(*field));
for (i = 0; i < rows; i++) {
for (j = 0; j < colms; j++) {
if (match == differentField[i][j]) {
field[foundMatch][0] = i;
field[foundMatch][1] = j;
foundMatch ++;
}
int main (int argc, char ** argv) {
int (*field)[2];
int rows = 10;
int columns = 10;
int match = 1;
int **differentField;
/*creating different Field*/
field = function(rows, columns, match, differentField);
}
-> уступка от несовместимого типа указателя
Любая идея, как правильно работать с этим? Большое вам спасибо ...
Ваш код не заполнен. Функция 'function' разбита посередине. Опубликовать минимально полный код. – AnT