Ich bin der Überprüfung einige Optimierungs Bibliotheken und kam über die FunktionssignaturIst dieser gültige Standard c?
double solvopt(unsigned short n,
double x[],
double fun(),
void grad(),
double options[],
double func(),
void gradc()
)
beachten Sie, dass Spaß() und gard() als Funktion übergeben. Meine Frage ist, ob das eine gültige Standard-C-Grammatik ist.
Danke.
Nicht wahr in C++. Das Formular ist sowohl in Standard C als auch in Standard C++ genau gültig. Es ist absolut nichts Archaisches daran.Der Funktionstyp in Parameterdeklarationen verfällt genau so wie der Array-Typ in Parameterdeklarationen zum Zeigertyp. Beide funktionieren genau in C und C++ (abgesehen von der Bedeutung von '()' Parameterliste, die neben dem Punkt in diesem Fall ist). – AnT
@AndreyT: ungerade dann, dass Sie nie diese Form verwendet sehen, aber ich werde die Antwort ändern –
'Array []' ist zulässig für eine Variable bei der Verwendung einer Initialisierungsliste. 'int array [] = {2, 3, 5, 7, 11, 13};' – wallyk