假设有如下代码:#include#include#include#includeusingnamespacestd;templatevoiddisplay(T1x){cout
2 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
display()需要显示的类型就是T2,改成下面的用g++编译就可以了。template voidfun1(conststringmsg,constvectorvec) {for_each(vec.begin(),vec.end(),display); }但是用clang600.0.56照样不能编译。定义fun1的时候直接报错:candidatetemplateignored:couldn'tinfertemplateargument'T'.据说g++实现有错,我刚开始学,也不明白。
添加回答
举报
0/150
提交
取消
