constは実体を気にしない?

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だけなのかな?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です