这是我失败的尝试:
#define decltype(...) std::identity<decltype(__VA_ARGS__)>::type
template<typename T>
auto* degrade(const T& f) -> decltype(&T::operator())
{
return &T::operator();
}
int main()
{
std::array<void(int), 1> stuff =
{
degrade([](int){})
};
}