このコードをコンパイルする際に問題があります。Variadicクラステンプレート
私がやろうとしているのは、渡されるすべての要素の合計を与えることができるvariadicクラステンプレートを作成することです(例えば、1,2,3,4,5,6は21を与えるべきです)。それはint
またはfloat
。私は基本的に2つの関数テンプレートを使って再帰的にそれを行うことができますが、私は答えを正しく得ていますが、クラスでそれを実装しているときには答えが出ません。
template <typename T>
class Myclass
{
public:
T sum;
T func(T A,T... B)
{
sum+=A;
func(B...);
}
T func(T A)
{
sum+=A;
return sum;
}
};
int main()
{
Myclass<int> myclass;
cout<<myclass.func(12,11,11,23);
return 0;
}
あなたの第一の方法は、 'T'を返しません。 –