いいアイデア欲しいんですが。

C/C++で、引数の数を可変にするには

foo( ... );

みたいにかけるじゃないですか。
じゃあ、呼び出し側が、
状況によって fooの引数の数を1個にでも10個にでも100個にでもしたい場合、
どう書いたらイイっすかね。

誰か知恵貸してくれると嬉しいんですが。
(stdcallの規約に従ってアセンブラでスタックに引数積むっていう手は考えたけど、
これだと汎用性が・・・・)