Why we can not overload the static_cast operator?
In C++ we can not overload the explicit typecast operator like static_cast, dynamic_cast, const_cast and reinterpret_cast. The only we can do is the implicit typecast operator like operator MyClass::MyDistType(). I agree there are maybe no meaning to overload dynamic_cast/const_cast/ reinterpret_cast, except the static_cast. If we enable the overloading of static_cast, we could be able to force the user doing type casting explicitly.