2

1 つがdouble型で 2 つ目がintの場合、2 つのvalarrayを乗算できないことに非常に驚いています。

何故ですか?

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++コンパイラの両方で同じです。

4

0 に答える 0