Вывод типа возвращаемого указателя на функцию
Я думаю, что код будет лучше иллюстрировать мою потребность:
template <typename F>
struct return_type
{
typedef ??? type;
};
так что:
return_type<int(*)()>::type -> int
return_type<void(*)(int,int)>::type -> void
я знаюdecltype
а такжеresult_of
но им нужно передать аргументы. Я хочу вывести тип возврата указателя функции из одного параметра шаблона. Я не могу добавить тип возвращаемого значения в качестве параметра, потому что это именно то, что я хочу скрыть здесь ...
Я знаю, что есть решение в boost, но я не могу его использовать, и попытка вытащить его из boost привела к впечатляющей неудаче (как это часто бывает).
Приветствуются решения на C ++ 11 (если они поддерживаются в VS2012).