Sup!
Müsste es nicht richtig
int (*func_array)()[] = {func1,func2};
heißen?
Nein, das müsste man dann nämlich so lesen:
func_array ist ein Zeiger auf eine Funktion mit Rückgabewert int ... und dann hängen die eckigen Klammern da so in der Landschaft rum und ergeben keinen Sinn. In jedem C-Buch gibt es so einen Abschnitt "komplizierte Vereinbarungen interpretieren", der hilft, das zu verstehen.
Gruesse,
Bio