static_cast and safe_cast to reference can only be used for valid initializations or for lvalue casts between related classes ...