Показать сообщение отдельно
Старый 22.10.2009, 10:36   #1  
cerbo is offline
cerbo
Участник
 
25 / 11 (1) +
Регистрация: 02.10.2008
? Как работает тернарный оператор
Почему для этого кода, в предпоследней строке, вываливает ошибка "Типы операнда не совместимы с оператором.":
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;

Это очередная баго-фича или есть смысл в таком поведении?
__________________
Dynamics AX 4.0.2501.122 SP2, kernel 4.0.2163.0, MS SQL 2005