In file included from /home/user/test/thorsSerializer/Serialize/Serialize.h:295:0, from /home/user/test/thorsSerializer/Serialize/SerUtil.h:6, from /home/user/test/utils.h:19, from /home/user/test/test.cpp:9: /home/user/test/thorsSerializer/Serialize/Serialize.tpp: In instantiation of ‘void ThorsAnvil::Serialize::Serializer::printEachMember(const T&, const Members&, std::index_sequence&) [with T = test; Members = std::tuple >; long unsigned int ...Seq = 0ul; std::index_sequence = std::integer_sequence]’: /home/user/test/thorsSerializer/Serialize/Serialize.tpp:403:5: required from ‘void ThorsAnvil::Serialize::Serializer::printMembers(const T&, const std::tuple<_Elements ...>&) [with T = test; Members = {std::pair}]’ /home/user/test/thorsSerializer/Serialize/Serialize.tpp:447:5: required from ‘void ThorsAnvil::Serialize::Serializer::printObjectMembers(const T&) [with T = test]’ /home/user/test/thorsSerializer/Serialize/Serialize.tpp:299:13: required from ‘void ThorsAnvil::Serialize::SerializerForBlock::printMembers() [with ThorsAnvil::Serialize::TraitType traitType = (ThorsAnvil::Serialize::TraitType)3; T = test]’ /home/user/test/thorsSerializer/Serialize/Serialize.tpp:416:5: required from ‘void ThorsAnvil::Serialize::Serializer::print(const T&) [with T = test]’ /home/user/test/thorsSerializer/Serialize/Exporter.h:33:13: required from ‘std::ostream& ThorsAnvil::Serialize::operator<<(std::ostream&, const ThorsAnvil::Serialize::Exporter&)’ /home/user/test/dhh_receiver.cpp:85:31: required from here /home/user/test/thorsSerializer/Serialize/Serialize.tpp:396:81: error: no matching function for call to ‘make_SerializeMember(ThorsAnvil::Serialize::PrinterInterface&, const test&, const std::pair&)’ auto discard = {(make_SerializeMember(printer, object, std::get(member)),1)...}; ^ /home/user/test/thorsSerializer/Serialize/Serialize.tpp:396:81: note: candidate is: /home/user/test/thorsSerializer/Serialize/Serialize.tpp:386:23: note: template ThorsAnvil::Serialize::SerializeMember ThorsAnvil::Serialize::make_SerializeMember(ThorsAnvil::Serialize::PrinterInterface&, const T&, const std::pair&) SerializeMember make_SerializeMember(PrinterInterface& printer, T const& object, std::pair const& memberInfo) ^ /home/user/test/thorsSerializer/Serialize/Serialize.tpp:386:23: note: template argument deduction/substitution failed: /home/user/test/thorsSerializer/Serialize/Serialize.tpp:396:81: note: mismatched types ‘M T::*’ and ‘int*’ auto discard = {(make_SerializeMember(printer, object, std::get(member)),1)...}; ^ /home/user/test/thorsSerializer/Serialize/Serialize.tpp:396:81: note: ‘const std::pair’ is not derived from ‘const std::pair’ /home/user/test/thorsSerializer/Serialize/Serialize.tpp:396:88: error: unable to deduce ‘std::initializer_list’ from ‘{}’ auto discard = {(make_SerializeMember(printer, object, std::get(member)),1)...};