我试图了解值= 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&)'

基本上,该函数是具有默认参数的类的构造函数,如果给定参数值,则默认值将我的类的私有(private)变量“总计”设置为“值”。

最佳答案

您只应在函数声明的标题中指定默认参数。

关于c++ - C++错误: default template arguments may not be used in function template,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26443786/

10-10 15:01