C++で可変個数の引数を配列で渡せるようにしたいです。
どなたかお力を貸してください。下記のように作成しました。
以下抜粋です。引数を並べて文字列作りたいです。
void ver_regi(float num1, float num2, float num3, ...) {
//可変引数処理 va_list args[5]; float value; int count; va_start(*args, num3); ←どうやらここのポインタ渡し的なことが問題 for (count = 0; count < num3; count++) { sprintf_s(s1, " %f %f %f", va_arg(args[0], float), va_arg(args[1], float), va_arg(args[2], float)); //countはどこにもやらなくても自動らしい。 } va_end(*args);
}
ポインタ渡しとかいろいろ考えましたが限界です。どなたか教えてください。
c++なのに、なぜvectorを使わないのでしょう?
参考:http://program.station.ez-net.jp/special/handbook/cpp/stl/vector.asp
ver_regi()関数の出力は何でしょうか? 配列? 文字列? 標準出力?
まずはやりたいことを明確化しましょう。
cateyeさん
一つの配列にするとわかりにくくなってしまうのです。第三引数はこれ、第四引数はこれと区別がしたいのです。
Chironianさん
やりたいことはC++で可変個数の引数を配列で渡せるようにしたいです。タイトル通りですよ。
名前の付け方が正しいかどうかわかりませんでしたが、printfとか引数を増やせますよね。あれは変数ですが配列でやりたいのです。
一つの配列にするとわからなくなるのに配列でやりたいと。
三次元の座標を格納する配列です。
一つの配列にxyzいれて、たとえば四角なら四頂点で4つの配列ってな感じです
struct point{ float x,y,z};
std::vector<point> pointVec;
とかじゃダメなのでしょうか?
回答3件
あなたの回答
tips
プレビュー