Re[6]: Требуются пояснения
От: rg45 СССР  
Дата: 11.12.24 18:00
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>Нет при таком подходе никакой типовой надёжности! Вот такое скомпилируется:

BFE>
BFE>UMBA_ENUM_CLASS_IMPLEMENT_UNDERLYING_TYPE_ARITHMETIC_OPERATORS(CEEE)
BFE>    CEEE x = CEEE::two + 1;   
BFE>

BFE>при том, что в CEEE:
BFE>
BFE>enum class CEEE
BFE>{
BFE>    zero,
BFE>    one,
BFE>    two
BFE>};
BFE>


Что-то удивительное ты пишешь. Вот такое НЕ компилируется:

http://coliru.stacked-crooked.com/a/e56da567f0d45c7c

enum class CEEE
{
    zero,
    one,
    two
};

int main()
{
    const CEEE eee = CEEE::two + 1; // error: no match for 'operator+' (operand types are 'CEEE' and 'int')
}


В устройство макроса я не вникал, если что. Я исходил из предположения, что он реализован через enum class.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 11.12.2024 19:45 rg45 . Предыдущая версия . Еще …
Отредактировано 11.12.2024 19:44 rg45 . Предыдущая версия .
Отредактировано 11.12.2024 18:05 rg45 . Предыдущая версия .
Отредактировано 11.12.2024 18:02 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.