¿Por qué no se invoca "operador vacío" con la sintaxis de conversión?

Mientras jugaba conesta respuesta porusuario GMan Creé el siguiente fragmento (compilado con Visual C ++ 9):

 class Class {
 public:
     operator void() {}
 };

 Class object;
 static_cast<void>( object );
 (void)object;
 object.operator void();

después de pasar con el depurador descubrí que el casting paravoid&nbsp;no invocaClass::operator void(), solo la tercera invocación (con la invocación explícita del operador) en realidad invoca al operador, los dos lanzamientos simplemente no hacen nada.

Porque es eloperator void&nbsp;no invocado con la sintaxis de reparto?