したがって、Vector クラスには、ドットとクロス積の 2 つのオーバーロードされた演算子があります。これはできないと思います。代わりに、クロス関数を使用する必要があります。
inline T operator *(const Vector3<T> &v)
{
return value[0]*v[0]+value[1]*v[1]+value[2]*v[2];
}
inline Vector3<T> operator *(const Vector3<T> &v)
{
Vector3<T> result;
result[0] = value[1]*v[2] - value[2]*v[1];
result[1] = value[2]*v[0] - value[0]*v[2];
result[2] = value[0]*v[1] - value[1]*v[0];
return result;
}
偶然にも、これを行う素晴らしい方法がありますが、それはまったく可能ですか?