Передача объекта (матрици в функцию)
Итак, суть вопроса состоит в том, как правильно передать массив данных с объекта в функцию.
Код:
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 **""
...
|
gcc version 4.8.1 (GCC) - собралось без проблем
|
Можно использовать приведение t.metod((int **)eczemplyar.A)
|
Цитата:
Цитата pva
gcc version 4.8.1 (GCC) - собралось без проблем »
|
В начале код был с указателями, но попом я просто просто решил сделать без них, отредактировав сообщение.
|
Цитата:
Цитата deviance
Можно использовать приведение t.metod((int **)eczemplyar.A) »
|
Я так и написал сначала, к сожалению у меня это вызвало ошибку "невозможно преобразовать параметр 1 из "int [3][3]" в "int **", поэтому я не использовал указатели.
|
Время: 10:35.
© OSzone.net 2001-2025