c++: static_cast, conversion, promotion