template specialization is not considered #pragma once #include <cstdint> #include <cstring> #include <string> #include <type_traits> template<class T> class Dummy { public: bool setValue( uint8_t* buffer, uint16_t size ) ; private: T data = {}; }; template<class T> bool Dummy<T>::setValue( uint8_t* buffer, uint16_t size ) { T newData{}; std::memcpy( &newData, buffer, size ); data = newData; return true; } template<> bool Dummy<std::string>::setValue( uint8_t* buffer, uint16_t size ) { char* cstring...