Q: My compiler isn't letting me declare a function
int f(...) { }i.e. accepting a variable number of arguments, but with no fixed arguments at all.
A: Standard C requires at least one fixed argument, in part so that you can hand it to va_start. (In any case, you often need a fixed argument to determine the number, and perhaps the types, of the variable arguments.) See also question 15.10.
References:
ISO Sec. 6.5.4, Sec. 6.5.4.3, Sec. 7.8.1.1
H&S Sec. 9.2 p. 263