Страницы

Поиск по вопросам

понедельник, 25 марта 2019 г.

c++ тип возвращаемого значения функции

В этом примере мне нужно вернуть массив int nums[40] Как это сделать?
test() { int nums[40];
for (int i=0; i < 40; i++) { nums[i] = i + 1; }
return nums; }


Ответ

Вам надо динамически выделить память в функции и вернуть указатель на этот участок памяти:
int* test() { int *nums = new int[40]; for (int i=0; i < 40; i++) nums[i] = i + 1; return nums; }
UPD
struct int_arr_40 { int arr[40]; };
int_arr_40 test() { int_arr_40 nums; for (int i=0; i < 40; i++) nums.arr[i] = i + 1; return nums; }

Комментариев нет:

Отправить комментарий