3

こんにちは、行列に左側の数値を掛けたいと思います。N=a*M のように、a は数値です。

右側で乗算したい場合は、行列クラスで演算子 * をオーバーロードするだけです。しかし、この場合はどうすればよいでしょうか。「デフォルト」クラスであっても float の演算子 * をオーバーロードできますか? (それがクラスかどうかさえわかりません)

4

2 に答える 2

3

関数を他の観点から定義する必要があります。例えば:

Matrix operator *(float x, Matrix const& m)
{
    return m * x;
}
于 2013-05-12T18:15:56.520 に答える