decltype (MyFunction_1)
даст вам тип MyFunction_1
(т.е. тип функции std::tuple<int, bool, double> ()
), вам нужно эмулировать функцию, вызывающую 1 (через добавление * 1008)*) чтобы получить тип возвращаемого значения (т. е. std::tuple<int, bool, double>
), например,
void MyFunction_2 (decltype (MyFunction_1()) ¶ms);
// ^^
1 Выражение вычисляется во время компиляции, функция won 'не может быть вызван во время выполнения.