Я знаю, что это просто, но я не могу сделать эту работу.Пропустить 2d массив для работы в C?
Моя функция как так:
int GefMain(int array[][5])
{
//do stuff
return 1;
}
В моей главной:
int GefMain(int array[][5]);
int main(void)
{
int array[1800][5];
GefMain(array);
return 0;
}
я упомянул this полезный ресурс, но я все еще получаю ошибку "warning: passing argument 1 of GefMain from incompatible pointer type."
Что я делаю неправильно?
EDIT:
Код находится в двух файлах, связанных друг с другом компилятором. Я не использую gcc. Вышеприведенный код является именно тем, что у меня есть, за исключением того, что функция объявлена как «extern int» в основном. Спасибо всем за ваше время.
Работает для меня с использованием gcc. Вы уверены, что у вас есть 5 в качестве числа столбцов для объявления массива и параметра GefMain? – user85509
Код, который вы опубликовали, будет компилироваться без каких-либо ошибок или предупреждений. Вы должны размещать фальшивый код. Пожалуйста, опубликуйте настоящий. – AnT
ahh ok вы не используете gcc ... gcc даже с параметрами '-std = c99 -pedantic' не выдают никаких предупреждений (без -std = c99 жалуется на комментарий стиля) ... знание компилятора может помочь кому ваш компилятор, чтобы помочь вам! – ShinTakezou