Determinando os tipos de parâmetros de uma função indefinida

Eu aprendi recentemente que não posso:

Pegue o endereço de uma função indefinidaPegue o endereço de uma função de modelo com um tipo que não seria compilado para

Mas eu também aprendi recentemente que eupode ligardecltype para obter o tipo de retorno da referida função

Portanto, uma função indefinida:

int foo(char, short);

Eu gostaria de saber se existe uma maneira de comparar os tipos de parâmetro aos tipos em umtuple. Esta é obviamente uma questão de meta-programação. O que eu realmente estou filmando é algo comodecltypeargs neste exemplo:

enable_if_t<is_same_v<tuple<char, short>, decltypeargs<foo>>, int> bar;

Alguém pode me ajudar a entender comodecltypeargs poderia ser trabalhado?

questionAnswers(1)

yourAnswerToTheQuestion