ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
10 июля
336649
MegaJohn (22.06.2012 11:15, просмотров: 5947)
вопрос по шаблонам имеется шаблон template < class T, class Tbuff_size_type, int Tbuff_size, bool write_atomic_internal, bool read_atomic_internal > class Ccirc_buff вызывается к примеру так Ccirc_buff< u8, u8fast, 100, false, true > uart_rx_buff; хочу в вызове убрать лишний параметр Tbuff_size_type пишу типо #define CIRC_BUFF( type, size, atomic_write, atomic_read ) Ccirc_buff< type, size < 0xFF ? u8fast : u16fast, size, atomic_write, atomic_read > но вываливает кучу ошибок, видимо не нравится знак сравнения тогде пытась сделать через промежуточный define #define CIRC_BUFF_U8F( type, size, atomic_write, atomic_read ) Ccirc_buff< type, u8fast, size, atomic_write, atomic_read > #define CIRC_BUFF_U16F( type, size, atomic_write, atomic_read ) Ccirc_buff< type, u16fast, size, atomic_write, atomic_read > #define CIRC_BUFF( type, size, atomic_write, atomic_read ) size == 0xFF ? CIRC_BUFF_U8F( type, size, atomic_write, atomic_read ) : CIRC_BUFF_U16F( type, size, atomic_write, atomic_read ) тоже куча ошибок. Как правильно описать задуманное ?