次の様なベクトルの 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) ;