Здравствуйте, rg45, Вы писали:
BFE>>Проблема этого кода в том, что EE не зависит от EE_sequence, а потому добавление нового значения в EE приводит к необнаружимой ошибке:
R>Ну это понятно. Макросы не предлагать?
А чего их предлагать? Я пользовался довольно долгое время
boost enums. Они на макросах. Ну да, можно использовать, но ведь это макросы со всеми своими неудобствами. Например, однострочные комментарии при задании перечисления приводят к странным сообщениям об ошибке.
BFE>>А теперь представте, что EE используется для: конвертации в индекс массива функций обработки сообщений, конвертации в строку для лога и конвертацию в int для id сообщения — все эти последовательности придётся править руками при добавлении нового значения в EE.
R>А вот тут не понял. Допустим, есть у тебя возможность перебора, о которой ты писал выше, как это поможет тебе избежать ручной правки массива функций и строк логов?
Проблема не в том, что придётся править, а в том, что если не поправишь, то заметишь только в рантайме.