W C++ nazwa tablicy to wskaźnik do jej zerowego elementu, a ponieważ tablica to tylko grupa zmiennych będących obok siebie w pamięci, a możesz zwrócić tylko jedną wartość, to zwracasz ten wskaźnik.
int* createArray(int size)
{
return new int[size];
}
int main()
{
int* myArray = createArray(5);
// odwołujesz się do myArray jak do zwykłej tablicy: myArray[n]
}