g_colorTimeline ist bereits ein Pointer auf den Beginn der Array.
return *g_colorTimeline; gibt daher GLfloat zurück. (normalerweise das erste Element)
Daher sagt er, dass ein GLfloat auf diese Weise zurückgegeben wird.
Aber in diesem Beispiel könnte folgendes nötig sein:
return&g_colorTimeline;
Kann sein, dass du * und & verwechselt hast. * dereferenziert und & gibt den Pointer zurück.