T maybe(alias nullCheck, T)(T expr, T def)
{
if (nullCheck(expr))
{
return def;
}
else
{
return expr;
}
}
auto tokens = chomp(readln())
.toLower()
.split()
.maybe!(a => a.empty)([""])
当模板参数maybe
与别名一起排列时,编译器能够正确推断参数类型。但是,当模板参数切换为 T 先出现时,它无法推断它们,也不会编译。为什么是这样?