【发布时间】:2014-02-24 20:08:27
【问题描述】:
在我添加第二个参数以使其更通用之前,以下怪物运行良好:
template<class IterableType, class Comparator>
typename IterableType::iterator GetMinimum(IterableType collection, Comparator comparator =
std::less<typename IterableType::iterator>
)
{
typename IterableType::iterator iter = collection.begin();
typename IterableType::iterator result = iter;
for(; iter != collection.end(); ++iter)
{
if(comparator(iter, result))
result = iter;
}
return result;
}
目前它给出以下错误:
121:9: error: expected primary-expression before ‘)’ token
对于行号:
118: template<class IterableType, class Comparator>
119: typename IterableType::iterator GetMinimum(IterableType collection, Comparator comparator =
120: std::less<typename IterableType::iterator>
121: )
我有#included <functional> 所以std::less 是有效的。有人可以指出我在这里做错了什么吗?
【问题讨论】: