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

C++ 如何在迭代器的构造函数中设置默认值?C++;,c++,map,constructor,iterator,C++,Map,Constructor,Iterator,我正在为迭代器做一个构造函数,但我不知道默认值是多少 声明如下: const_迭代器(typename映射::const_迭代器=??) 这是一个映射向量,所以我的迭代器将是一个映射迭代器。 默认值是多少 因为当我这样做的时候: HashMap::const_迭代器i 它说我没有合适的默认构造函数 谢谢大家! 不讨论为什么需要默认值,我建议使用map迭代器的默认值(这是一个无效的迭代器) typedef typename映射::常量迭代器映射; 常量迭代器(map_citer param=map

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

声明如下:

const_迭代器(typename映射::const_迭代器=??)

这是一个映射向量,所以我的迭代器将是一个映射迭代器。 默认值是多少

因为当我这样做的时候:
HashMap::const_迭代器i

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


谢谢大家!

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

typedef typename映射::常量迭代器映射;
常量迭代器(map_citer param=map_citer());
//^^^^^^^^^^^
编辑:

考虑到您的编辑,在您的情况下,似乎最合乎逻辑的是重载构造函数。有两个重载,一个不接受任何内容(在构造函数中做您认为最好的事情),另一个是原始重载。这应该可以做到:)

const_迭代器(typename-map::const_迭代器);
常量迭代器();

你能解释一下你想在这里做什么吗?为什么需要此构造函数的默认值?你想从中获得什么?有些东西看起来很奇怪,但是没有太多的上下文。这个构造函数应该做什么?参数有默认值有意义吗?@awoodland我编辑了我的问题。我很抱歉
 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();