gpt4 book ai didi

c++ - 如何在迭代器的构造函数中设置默认值? C++

转载 作者:行者123 更新时间:2023-11-30 03:04:35 34 4
gpt4 key购买 nike

我正在为我的迭代器做一个构造函数,但我不知道默认值是多少

声明如下:

const_iterator(typename map<TYPE, TYPE2>::const_iterator = ????? );

它是一个 map vector ,所以我的迭代器将是一个 map 迭代器。默认值是多少?

因为当我这样做时: HashMap<TYPE, TYPE2>::const_iterator i;

它说我没有合适的默认构造函数。

谢谢!

最佳答案

不讨论为什么需要默认值,我建议使用映射迭代器的默认值(这是一个无效的迭代器)

 typedef typename map<TYPE, TYPE2>::const_iterator map_citer;
const_iterator(map_citer param = map_citer());
//^^^^^^^^^^^

编辑:

考虑到您的编辑,在您的情况下最合乎逻辑的做法似乎是重载您的构造函数。有两个重载,一个不带任何东西(做你认为在那个构造函数中最好的事情)和你原来的一个。那应该可以解决问题:)

const_iterator(typename map<TYPE, TYPE2>::const_iterator);
const_iterator();

关于c++ - 如何在迭代器的构造函数中设置默认值? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8526869/

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