【初心者歓迎】C/C++室 Ver.10【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0253デフォルトの名無しさん
NGNG可変引数を持つ関数hoge(char * szBuf, ...)があります。
hoge内からさらに可変引数を持つサブルーチンhogehoge(int iCnt, ...)をコールします。
hogeに渡された可変引数すべてをそのままhogehogeに渡すにはどのように記述すれば
よいのでしょうか?
ちなみにhoge内では可変引数の個数や型などはわかりません。hogehoge内で判明します。
hoge内でva_list型としてva_arg()で値を取得すればいいかと思い以下のように記述
してみましたが、可変引数の個数が複数になると2個目以上が取得できませんでした。
hoge(char * szBuf, ...)
{
va_listargs, args2;
va_start( args, szBuf );
args2 = (va_list)va_arg( args, va_list );
//中略
hogehoge( iCnt, args2 );
va_end();
}
■ このスレッドは過去ログ倉庫に格納されています