我想做一个可重用的函数,它返回一个迭代器,以便轻松找到容器的中点并需要一些帮助
固定的;
template <typename T> std::vector<int>::const_iterator middlepoint(std::vector<T> const& arr){
auto temp = arr.begin() + arr.size() / 2;
return temp;
}
呼叫者,召集者:
auto middle_point = middlepoint(arr.begin(), arr.end());
固定的:
template <typename T> int middlepoint(std::vector<T> const& arr){
std::cout << "size: " << arr.size() << endl;
auto middle_point = arr.begin() + (arr.size()/ 2);
int middle_element = middle_point - arr.begin();
return middle_element;
}
呼叫者:
int middle_element = middlepoint(arr);
错误:
ambiguous
模棱两可,意味着您声明了 2 个具有相同名称但参数不同的函数。