void Util::scale(Vector2 *out, const Vector2 &in, const Vector2 &offset, const Vector2 &ratio)
{
// まずは拡大縮小
out->setMul(ratio, in);
// offsetだけ動かす
*out += offset;
}
// 回転
rotate(out, *out, rotationOffset, rotationMatrix);
みたいなコードが普通に通った。
scaleの中で、inにconstついてるけど、渡してるのはoutなので、scaleの中でinが実質的に書き換えられている。
見た目上、inが書き換えられていなければそれでいいのかなー。
constついてるのに書き換えられるとか、やばそうな匂いがぷんぷんしますが。
VC2008だけなのかな?
コメントを残す