Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Передача объекта (матрици в функцию) (http://forum.oszone.net/showthread.php?t=270572)

_Goodwin 24-10-2013 03:56 2239963

Передача объекта (матрици в функцию)
 
Итак, суть вопроса состоит в том, как правильно передать массив данных с объекта в функцию.
Код:

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 2240556

gcc version 4.8.1 (GCC) - собралось без проблем

deviance 24-10-2013 21:32 2240560

Можно использовать приведение t.metod((int **)eczemplyar.A)

_Goodwin 25-10-2013 02:35 2240704

Цитата:

Цитата pva
gcc version 4.8.1 (GCC) - собралось без проблем »

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

_Goodwin 25-10-2013 03:02 2240708

Цитата:

Цитата deviance
Можно использовать приведение t.metod((int **)eczemplyar.A) »

Я так и написал сначала, к сожалению у меня это вызвало ошибку "невозможно преобразовать параметр 1 из "int [3][3]" в "int **", поэтому я не использовал указатели.


Время: 10:35.

Время: 10:35.
© OSzone.net 2001-2025