问我的编译器不允许我声明一个函数
int f(...) { }
答标准 C 要求至少有一个固定参数,部分原因是为了你可以将它传递给va_start。 (无论如何,你通常需要一个固定参数来确定可变参数的数量,以及可能的类型。)另请参阅问题 15.10。
参考文献:ISO 第 6.5.4 节,第 6.5.4.3 节,第 7.8.1.1 节H&S 第 9.2 节,第 263 页
由 托管