可変サイズの引数

 関数の引数の数ではなく、サイズ自体を変えたい。つまり、a(int b)もa(double c)も使えるようにしたい。CLOSなら総称関数で済む話。Cならstdargでいけそう…に思えたんだけど、可変長引数を使うとfloatは自動的にdoubleに、charとshort intはintに自動的にサイズ変更されるらしい。なんだかそれも気持ち悪い。残る手段としては、ポインタで渡すという方法しか思い付かないが、頻繁に呼ばれるようなケースで値へのポインタをいちいち作るのは効率的にどうなんだろう。結局、すっきりとした解決法は今のところ見付からない。
 このようなプログラムを書いていると、C言語は不便だなあ、と思わざるを得ないのである。