Hallo Bio,
Aus irgendeinem Grund brauche ich in meinem Programm ein Array von Zeigern auf Funktionen mit Rückgabewert int. Also quasi:
int (*func_array[])() = {func1,func2};
Müsste es nicht richtig
int (*func_array)()[] = {func1,func2};
heißen? Also erst den Basistyp deklarieren, dann die Array-Indexklammern? Die Indexklammern müssten meiner Ansicht nach außerhalb der runden Klammern stehen, weil die Array-Bildung ja der letzte Schritt bei der Deklaration dieses komplexen Typs ist.
Ich habe so aufwendige Konstrukte bisher nicht benutzt aber...
Mit einer zweistufigen Deklaration müsste es eigentlich klappen:
typedef int(*func)() functype;
functype func_array[] = {func1, func2};
(func_array ist ein Vektor/Array von Zeigern auf Funktionen undefinierten Types mit Rückgabewert int)
Genau das müsste nach meiner Einschätzung bei der obigen Deklaration herauskommen.
So long,
Martin