En C++ necesito que una función retorne un arreglo de objetos, algo así
Objeto[] funcion(int arg){ Objeto retorno[2]; retorno[0]=new Objeto(); retorno[1]=new Objeto(); return retorno; }
sin embargo, el lenguaje no soporta este tipo de sintaxis.
No obstante, lo que sí se puede retornar es un puntero a un array.
En efecto,
el nombre de un array es la dirección del primer elemento del array, por ende, los arrays son punteros (>>)
por lo tanto, para hacer funcionar el código anterior podríamos cambiarlo a
Objeto* funcion(int arg){ Objeto array[2]; array[0]=new Objeto(); array[1]=new Objeto(); Objeto* retorno=array;//conversión implícita return retorno; }