Why need static_cast?