Не могу передать значения массива из одного класса в другой. C++
У меня есть 2 библиотеки person.h и TXRIP.h в библиотеке TXRIP.h есть геттер который возвращает значение массива ground [10][10]
int get_ground()
{
for (int i = 0; i < 10; i++)
{
for(int j = 0; j < 10; j++)
{
return ground[i][j];
}
}
}
В другом классе другого .h файла у меня лежит масив pers[10][10] и для него я написал сеттер функцию
void set_pers(int a)
{
for (int i = 0; i < 10; i++)
{
for(int j = 0; j < 10; j++)
{
pers[i][j]=a;
printf("%d\n",a);
}
}
}
также в main() я вызываю функцию сеттер со значением геттера, но после проверки понял что он передаёт только нули. main.cpp
Karta karta_t; //Karta название класса
Person person_t; //Person название другого класса
person_t.set_pers(karta_t.get_ground());
В чём проблема? Если что массив выглядит вот так
0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 0
0 1 2 1 1 1 1 1 1 0
0 1 1 1 1 3 1 1 1 0
0 1 1 1 2 1 3 1 1 0
0 1 1 1 1 1 1 1 1 0
0 1 3 1 1 1 1 1 1 0
0 1 1 1 1 3 1 2 1 0
0 1 1 1 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0
Ответы (1 шт):
Вызываем...
int get_ground()
{
Входим в первую итерацию, i == 0:
for (int i = 0; i < 10; i++)
{
Входим во первую итерацию второго цикла, j == 0:
for(int j = 0; j < 10; j++)
{
Возвращаем из функции, завершая этим ее работу
return ground[i][j];
Все, как написано. Можно было даже проще:
int get_ground() { return ground[0][0]; }
Как именно переписать — зависит от того, что именно вы хотите. Ведь сеттер-то у вас тоже загоняет во все элементы одно и то же значение.