私は与えられた多項式の係数を保持するPolynomial
クラスを持っています。
オーバーロードされたコンストラクタの1つは、可変引数リストを介してこれらの係数を受け取ることになっています。可変長引数リスト - 最後の引数を取得する方法を理解するには?
template <class T>
Polynomial<T>::Polynomial(T FirstCoefficient, ...)
{
va_list ArgumentPointer;
va_start(ArgumentPointer, FirstCoefficient);
T NextCoefficient = FirstCoefficient;
std::vector<T> Coefficients;
while (true)
{
Coefficients.push_back(NextCoefficient);
NextCoefficient = va_arg(ArgumentPointer, T);
if (/* did we retrieve all the arguments */) // How do I implement this?
{
break;
}
}
m_Coefficients = Coefficients;
}
私は通常、受信者メソッドにパラメータの総数を知らせる余分なパラメータを渡すか、感情的終了パラメータを渡すことを知っています。しかし、短くてきれいにするために、私は余分なパラメータを渡すことを好まない。
例のメソッドシグネチャを変更せずにこれを実行する方法はありますか?
あなたは忘れてしまったオプション4:segfault! –