gpt4 book ai didi

c++ - 迭代器的类型 C++

转载 作者:行者123 更新时间:2023-11-28 04:51:16 25 4
gpt4 key购买 nike

<分区>

我正在尝试编写自己的排序函数来对 vector 容器进行排序。

我希望以下面的方式调用它:

这个:排序(arr.begin(),arr.end() - 1)

arr.end() - 1 - 因为 arr.end() 返回下一个元素,实际上不是元素,返回迭代器结束

所以我想在任何类型上用迭代器调用我的函数。我试着运行这段代码:

#include<iostream>
#include<vector>
using namespace std;

template<typename T1>
void func(vector<T1>::iterator it) {
cout << "\n" << *it;
}

int main() {
vector<int> arr(10);

for(int i = 0;i < 10;++i)
arr[i] = i+1;

func<int>(arr.begin());
}

但是编译器说:

main.cpp:10:23: error: variable or field ‘func’ declared void  void func(vector<T1>::iterator it)
main.cpp:10:32: error: expected ‘)’ before ‘it’ void func(vector<T1>::iterator it)
main.cpp: In function ‘int main()’: main.cpp:26:5: error: ‘func’ was not declared in this scope
func<int>(arr.begin());
func main.cpp:26:10: error: expected primary-expression before ‘int’
func<int>(arr.begin());

请解释我的错误。谢谢

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com