#include <常用>
元<型名 T,型名...O>
用 _调用=推导(求值<T>()(求值<O>()...));
元<型名 T,型名...O>
用 可调用=型名 探测器<空,_调用,T,O...>::型;
空 测试(整){}
空 测试2(){}
//如果这里`测试2改为测试`,推导是推导不出来的,
//因为`他不知道`是哪个`测试`,这不是`函数重载`.
空 主(){
打印(是可<推导(测试),整>::值);
打印(是可<推导(测试2)>::值);
}
注意用法:要加上推导
,同时两个测试不能同名,同名就冲突
了.这也是为什么开始的时候编译不过
的原因.
探测器在这里