私は毎日ROOTC++ライブラリ(root.cern.ch)を使用しており、この関数宣言に出くわしたときにソースを参照していました。
TString TString::Format(const char *va_(fmt), ...)
{
//etc.
ここで見つけることができます。
const char *
名前に引数や括弧を含める方法がわかりません。この式は、関数呼び出しやコンストラクターのように見えますがva_(fmt)
、後で単純なものとして使用されます。const char *
最初は、変数引数リストと関係があると思いました。これも私にとっては新しいことでしたが、stdarg.hのドキュメントを読んでも、この質問にはまったく役立ちませんでした。
これを何と呼べばいいのかよくわからないので、グーグルで助けを求めるのは非常に難しい。引数付きの宣言?それでは良い結果は得られません。
以前はC++を知っていると思っていましたが、ここで何が起こっているのでしょうか。すべての助けをいただければ幸いです。