乘以不同类型的valarray

时间:2016-04-12 19:04:03

标签: c++ valarray

如果一个类型为 double 而第二个是 int ,则无法将两个 valarrays 相乘,我感到非常惊讶。

为什么?

std::valarray<int> vali(3);
vali[0] = 0;
vali[1] = 1;
vali[2] = 2;

std::valarray<double> vald(3);
vald[0] = 0;
vald[1] = 1;
vald[2] = 2;

std::valarray<double> result(3);

result = vald * vali;

编译错误:

error C2678: binary '*' : no operator found which takes a left-hand operand of type 'std::valarray<double>'

对于 g ++ msvc ++ 编译器都是一样的。

0 个答案:

没有答案