以 valarray 容器类为例 运行环境为vs15
一般而言想给valarray初始化大小可以这么做:
valarray<int> a(10)
或者
valarray<int> a = valarray<int>(10)
然而,在自定义的类中, 只允许上述的第二种做法。
class myclass
{
private:
valarray<int> a = valarray<int>(10);
};
原因是当你使用第一种做法时,a会被解释成方法名,圆括号内的数字会被解释成参数列表,这时便会提示以下错误。