遇到一个compile error
但我看不出来错的原因是什么
我写一个partition function例如
template<typename Iterator, class Predicate>
Iterator partition(Iterator begin, Iterator end, Predicate pred)
{
return begin;
}
然后
#include <algorithm>
int main()
{
std::vector<int> vec;
partition(vec.begin(), vec.end(), [](int i){return true; });
}
compile error 就说 partition 这function ambiguous了
不解的是
algorithm里面的partition包在namespace std底下 跟我这有啥关系
我也确定我没自己写using namespace std;
而若我改成::partition(....); 就没问题了
或是拔掉algorithm 也可以compile 过, 但我会用到algorithm的其他method 所以不能拔
我是用VC
而我请朋友在GCC验证 也说会error
请教各位
谢谢