ISO C++草案n3290 :参数依赖名称查找的要点:第3.4.2节,第2段,
对于函数调用中的每个参数类型T,都有一组零或多个关联名称空间,以及一组零或多个关联类。命名空间和类的集合完全由函数参数(以及任何模板模板参数的命名空间)的类型决定,.Typedef名称和使用-声明来指定类型对此集合没有贡献。<em
唯一的区别是Func内部使用的参数类型(Arg vs int): using Func = std::functionreturn foobar(2);我理解后一个版本的错误:被调用的operator+是在名称空间中定义的,因此如果没有名称空间的显式规范,就找不到它。在这里,依赖于参数的查找不会有帮助,因为opera