Вторая проблема, не дающая собрать код, это противоречащие объявления этой функции - в одном случае аргумент по умолчанию есть, во втором - нет.
не прибегая к граф библиотекам,аля directX ,openGL
@devalone : Почитай что-нибудь про указатели и ссылки в C++
using spi_frame_size = typename std::conditional< FRAME == EC_SPI_CFG_DATA_FRAME::FRAME_8_BIT, uint8_t, uint16_t >::type;
// If only C++14 enabled.
using spi_frame_size = std::conditional_t< FRAME == EC_SPI_CFG_DATA_FRAME::FRAME_8_BIT, uint8_t, uint16_t >;
cpp.sh/956z5
А scope у нас разве разный?