Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > двумерные массивы в качестве параметров


Автор: kaufman 1.5.2007, 10:45
Мне нужно передать двумерный массив в функцию в качестве параметра, с любым (т.е. не известным для функции) количеством значений
Код

#include <iostream.h>
#include <conio.h>
void func (int mass[][])
{
int a=50;
//операторы
}

void main ()
{
int massive[5][5];
int i,j;
for (i=0;i<5;i++)
for (j=0;j<5;j++)
  massive[i][j] = 0;
func(massive);
}

Но вылезает ошибка:
"Size of type 'int[]' is unknown or zero"
Подскажите, можно ли передать 2Д-массив в функцию, и если можно то как?

Автор: Daevaorn 1.5.2007, 10:47
Смотри ссылки внизу страницы. И пользуйся поиском по форуму, прежде чем задать вопрос.

Автор: AndrRus 1.5.2007, 11:16
Массив делай динамическим, если его размеры будут менятся.
Код

int main ()
{
int **matrix; 
... ... ...
Function (matrix);
... ... ...
}

void Function (int **matrix)
{
... ... ...
}

Автор: kaufman 1.5.2007, 12:48
AndrRus спасибsmile 
DaevaornБуду терь знать smile 

Автор: Rockie 1.5.2007, 17:52
kaufman, явно передавай размерность
Код

#include <iostream>

using namespace std;

void SomeFunction(double array[][2])
 {
   cout<< array[1][1];
 }


int main(){

 double array[2][2] = {1, 2, 3, 4};

 SomeFunction(array);

}



Автор: Anikmar 2.5.2007, 14:05
 smile 
Ура! Еще одна тема про передачу массивов!

Народ - налетай!  smile 

Автор: dizzy1984 2.5.2007, 15:33
Цитата(Anikmar @  2.5.2007,  14:05 Найти цитируемый пост)
Народ - налетай!

 smile  smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)