私はこれに新しいので、私は物事が不足している可能性があります。私は現在、次のコードを持っています:この再帰でベクトルを実装する方法は?
#include <iostream>
template<int ...> struct mySum;
template<>struct
mySum<> {
static const int value = 0;
};
template<int i, int ... tail> struct
mySum<i, tail...> {
static const int value = i + mySum<tail...>::value;
};
int sum = mySum<1, 2, 3, 4, 5, 6, 7, 8>::value;
int main() {
std::cout << sum << std::endl;
return 0;
}
ご覧のとおり、再帰を使用して値の合計を整数として取得しています。このコードを変更してベクターを受け入れ、ベクターを返すにはどうすればよいですか?
は例えば、私は...
を2,4,6,8などを返す2.
1,2,3,4により全体のベクトルを乗算する場合、またはそこより良い方法です再帰的にこれを行うには?
編集:テンプレートは必須ではありません。再帰のみ。私はちょうどそれがテンプレートでこれを行う可能性があると思った...
テンプレートパラメータとしてベクトルを使用することはできません。 – user463035818
私は参照してください。だから私は他の方法を使わなければなりませんか? – sdkk2
なぜコンパイル時にベクトルに2を掛けたいのですか?再帰的にする必要があるのはなぜですか? – user463035818