このコードをコンパイルしました:
void foo(int bar...) {}
int main()
{
foo(0, 1);
return 0;
}
そして、コンパイル出力は本当に奇妙でした:
g++ test.c
出力:
何もない
と
gcc test.c
出力:
test.c:1:17: エラー: '...' トークンの前に ';'、',' または ')' が必要です
パラメータの後にコンマがないことは知っています。この質問は奇妙なコンパイル出力に関するものです。
これが C で無効である理由は理解できますが、C++ で有効である理由がわかりません。