我有以下
template <typename F, typename A0>
struct ResultOf {
typedef typename decltype(boost::declval<F>()(boost::declval<A0>())) Type;
};
它的编写是为了让 VS2010 可以有一个适用于特定用例的result_of 。它在 vs2015、vs2013 和 vs2010 下工作,但在 gcc 下我得到一个编译错误
error: expected nested-name-specifier before ‘decltype’
typedef typename decltype(boost::declval<F>()(boost::declval<A0>())) Type;
这里有明显的小修复吗?