Почему для этого кода, в предпоследней строке, вываливает ошибка "Типы операнда не совместимы с оператором.":
X++:
return _cmd == Command::CopyAll ? new EditCopyAll ()
: _cmd == Command::Copy ? new EditCopy ()
: _cmd == Command::MoveAll ? new EditMoveAll ()
: _cmd == Command::Move ? new EditMove () // ошибка "Типы операнда не совместимы с оператором."
: null;
причем если упростить до такого, то все ОК:
X++:
return _cmd == Command::CopyAll ? new EditCopyAll ()
//: _cmd == Command::Copy ? new EditCopy ()
//: _cmd == Command::MoveAll ? new EditMoveAll ()
//: _cmd == Command::Move ? new EditMove ()
: null;
Это очередная баго-фича или есть смысл в таком поведении?