Войти

Показать полную графическую версию : Передача объекта (матрици в функцию)


_Goodwin
24-10-2013, 03:56
Итак, суть вопроса состоит в том, как правильно передать массив данных с объекта в функцию.

class alecbaldwin
{

public:
// alecbaldwin();
int automatr(); // метод рандомного заполнение матрицы
void vuvod(); // метод вывода на форму
int A[3][3]; // сама матрица
int metod(int M1[3][3]); // метод передачи матрицы в функцию
};

int alecbaldwin ::metod(int M1[3][3]) // реализация (двухмерный массив, размер)
{
alecbaldwin obj4;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
obj4.A[i][j]=M1[i][j];
return 0;}

//и сам вызов в main

...

alecbaldwin t,eczemplyar;
eczemplyar.automatr();
t.metod(eczemplyar.A); // тут собственно и не могу найти решение:
system ("pause"); // "невозможно преобразовать параметр 1 из "int [3][3]" в "int **""
...

pva
24-10-2013, 21:20
gcc version 4.8.1 (GCC) - собралось без проблем

deviance
24-10-2013, 21:32
Можно использовать приведение t.metod((int **)eczemplyar.A)

_Goodwin
25-10-2013, 02:35
gcc version 4.8.1 (GCC) - собралось без проблем »

В начале код был с указателями, но попом я просто просто решил сделать без них, отредактировав сообщение.

_Goodwin
25-10-2013, 03:02
Можно использовать приведение t.metod((int **)eczemplyar.A) »
Я так и написал сначала, к сожалению у меня это вызвало ошибку "невозможно преобразовать параметр 1 из "int [3][3]" в "int **", поэтому я не использовал указатели.




© OSzone.net 2001-2012