Я использую для объявления вариационных функций, подобных этому:
int f(int n, ...);
При чтении языка программирования С++ я обнаружил, что декларации в книге опускают запятую:
int f(int n...); // the comma has been omitted
Кажется, что этот синтаксис является специфичным для С++, поскольку я получаю эту ошибку, когда пытаюсь ее скомпилировать с помощью компилятора C:
test.c:1:12: error: expected ‘;’, ‘,’ or ‘)’ before ‘...’ token int f(int n...);
Есть ли разница между написанием int f(int n, ...)
и int f(int n...
)?
Почему в этот синтаксис добавлен С++?