что идея в том, что в точности по типам, которые переданы, вызывался бы invoke — а по переданным типам точно не вызвать invoke, потому что ему нужен будет объект.
В принципе можно было бы отдельно написать варианты, которым не нужен указатель на объект, у которых первый переданный тип — указатель на функцию-член, но это видимо никому не надо, потому что в обобщённом коде, где будет использоваться invoke_result, ты не знаешь, что там у тебя за первый тип (указатель на функцию член или что ещё), и всё равно будешь передавать ровно те же типы, что потом в invoke.
Смотри личку.
Обсуждают сегодня