Здравствуйте, Аноним, Вы писали:
А>Сабж. Как можно сделать подобное в этом коде? Если бы не поле operand, то делается всё просто.
А>...
Давненько я такого кошмара не видел, это во истину шедевр

А переделать макрос FUNC в функцию без изменения окружающего кода невозможно по той простой причине, этот макрос ветвит вызывающий код на целых три(!) ветки.