改正前:
空 行处理(串&行){//加一个列表.
静 动 f=[&]<类 T>(T&t){
如(p->要要(行))t.要处理(行);
异 t.不要(行);
};//不能用静.
多.选一(f,n);
}
看见没有,如果这里f
为静
,则你每次处理的行,都是第1行,这是不变的.
改正后如下:
空 行处理(串&行){//加一个列表.
静 动 f=[&]<类 T>(T&t,串&a){
如(p->要要(a))t.要处理(a);
异 t.不要(a);
};//不能用静.
多.选一(f,n,行);//扩展一下参数.
}//概念要求,要实验.
当然,也可直接去掉
f的静
,不过可能就会降低速度.
但我们像上面那样改.把行加在参数
里面,这样其它地方不改,仍然是静
.这次就成功运行了.
这里p
是不变的.
因而,只要你的λ
里面都是不变
的,则你的λ
可以为静
.如果有变化
的,可以加在参数
里来改.
否则,不能随便用静
.静
代表只
初化一次,千万要小心!