正确的类型应该是func函数的类型:int(int, int),这里显示为它的返回值的类型了。编译时打印 编译器肯定是知道变量的类型的,但是它没法直接告诉你,有一个可以让编译器告诉你的办法,就是编译发生错误时编译器在报告的错误信息中肯定会提到导致此错误的类型,因此我们可以声明一个如下的模板:template<typenameT>classdumpT
改成 struct Sort { template <typename T> T& operator()(T& v) { sort(v.begin(), v...