Не могу передать значения массива из одного класса в другой. 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 шт):

Автор решения: Harry

Вызываем...

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]; }

Как именно переписать — зависит от того, что именно вы хотите. Ведь сеттер-то у вас тоже загоняет во все элементы одно и то же значение.

→ Ссылка