double quadratic();
declares a function that returns double with an indefinite (but fixed) number of parameters.
It matches the prototype of your function:
double quadratic(double a, double b, double c) { }
This is not equivalent:
double quadratic(void);
which is a prototype declaration of a function that returns double without a parameter.
source share