Функция, возвращающая указатель
От: Alick Россия http://www.livejournal.com/users/_alick_/
Дата: 12.09.02 11:38
Оценка:
Есть такая проблема:


int *func(void);
void main(void)
{
    int mass[10];
....
   mass=func();
}
int* func(void)
{
   int ret[10];
   ....
  return ret;
}

VC-шный компилятор ругается на функцию, возвращающую указатель (func()) — типа нельзя возвращать указатель на локальную переменную.
Что, в общем, правильно и понятно.
Есть два выхода — либо заводить глобальный массив (чего очень как не охота), либо заводить структуру (struct ....),динственным членом которой является массив и заставлять функцию возвращать эту структуру (что, как мне кажется, тоже не очень хорошо).
Вопрос такой: насколько ликвиден второй способ (на котором я и остановился) и какие еще есть варианты?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.