次の様なベクトルの template .
template <typename T> struct Vector3 { // ... void Normalize (void) { if (Length() > 0) { double s = 1.0f / Length() ; x *= s; y *= s; z *= s; } } // ... T x ; T y ; T z ; } ;
double の時は問題ないが,float だとワーニング.
T(value) として対応.
double s = 1.0f / Length() ; x = T(x*s) ; y = T(y*s) ; z = T(z*s) ;