问题描述
我正在尝试实现一个基于序列的构造函数,它获得 2 个定义范围 [first,last) 的前向迭代器,并用它们做一些事情。
问题是我需要它们之间的距离,出于某种原因,我收到了这个错误:
'std::distance': no matching overloaded function found
:
template<class Itr>
SmartStack(Itr first,Itr last)
{
auto range = std::distance<Itr>(first,last);
...
}
编辑:
显然这个构造函数在我的 main 中调用 SmartStack<int> s(2,0);
时发生冲突:
SmartStack(size_t size,const T& v) : SmartStack()
{
...
}
我能做些什么来防止它?我只想在输入是迭代器时调用第一个 ctr..
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)