Во время игры этот ответ от пользователя пользователя GMan я создал следующий фрагмент (скомпилированный с Visual С++ 9 ):
 class Class {
 public:
     operator void() {}
 };
 Class object;
 static_cast<void>( object );
 (void)object;
 object.operator void();
после перехода с отладчиком я обнаружил, что кастинг на void не вызывает Class::operator void(), на самом деле вызывает вызов только третий вызов (с явным вызовом оператора), эти две команды просто ничего не делают.
Почему operator void не вызывается с синтаксисом cast?
