У меня есть функция, которая генерирует значения в массиве и возвращает указатель на этот массив. Вот код MWE:
int *f(size_t s)
{
int *ret=new int[s];
for(size_t a=0;a<s;a++)
{
ret[a]=a;
cout << ret[a] << endl;
}
return ret;
}
обратите внимание, что у меня есть строка cout
для цикла for, чтобы доказать себе, что массив заполняется правильно.
Теперь вот моя проблема. Я не могу найти правильный метод использования возвращенного массива. Вот что я делал:
int main (void)
{
int ary_siz = 10;
int ary[ary_siz];
*ary = *f(ary_siz);
cout << ary[0] << endl;
cout << ary[2] << endl;
cout << ary[3] << endl;
}
Первый элемент в ary
кажется правильным. Другие (ary[1]
, ary[2]
...) - нет. Может кто-нибудь сказать мне, что я делаю не так?