我正在尝试创建一个名为"CrazyBucket<T>"的新模板类,它必须保存多个类型为T的值。
我想为这个类创建一个构造函数,它可以接受任何2个前向迭代器作为参数,并将这些值(类型为T)复制到类实例中。
构造函数:
CrazyBucket< T >::CrazyBucket( iterator< forward_iterator_tag, T > start, iterator< forward_iterator_tag, T > end )
{ ... }
但是当我尝试使用以下方式调用它时:
vector< int > vec;
vec.push_back( 4 );
CrazyBucket< int > bucket( vec.begin(), vec.end() );
我得到了以下错误:
候选构造函数不可行:第一个参数没有已知的从'iterator'(即'__wrap_iter')转换为'std::iterator'。
非常感谢您对如何定义我的构造函数的帮助。
提前致谢。
Iter
只指向类模板类型 < T > 的迭代器(即只指向 < T > 类型的对象)?其中 < T > 是该类的模板类型。 - Akanes<T>
的对象。 - Akanes