2

value = T() の意味とその修正方法を理解しようとしています。また、関数はクラスのコンストラクターです。

template<typename T>
Accumulator<T>::Accumulator(const T& value = T())
{
     total = value;
}

これは、次のエラーをコンパイルしません。

error: default argument given for parameter 1 of `Accumulator<T>::Accumulator(const T&)'
error: after previous specification in `Accumulator<T>::Accumulator(const T&)'

基本的に、この関数は、引数に値が指定された場合にクラスのプライベート変数「合計」を「値」に設定するデフォルト引数を持つクラスのコンストラクターです。

4

1 に答える 1

3

関数宣言のヘッダーで、デフォルト パラメータのみを指定する必要があります。

于 2014-10-18T19:50:25.957 に答える