std::list< pair<double, int> >::迭代器声明不起作用
std::list< pair<double, int> >::iterator declaration not working
我遇到的问题是为类型列表声明迭代器list<两人>我觉得很明显有什么事在发生。谷歌不是我的朋友今天。两人>
参见下面的for循环,假设使用命名空间std
for (list< pair<double, int> >::iterator i = terms.begin(); i != terms.end(); ++i)
{
yval += pow(di, i->second) * i->first;
}
这里的错误是一堵巨大的墙它们是随意读取的
te<class _CharT, class _Traits, class _Alloc> bool
std::operator==(const std::basic_string
<_CharT, _Traits, _Alloc>&, const _CharT*)
e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/bits/basic_string.h:2516:5:
note: temp
late argument deduction/substitution failed:
polynomial.cpp:40:44: note: 'std::list<std::pair<double, int> >::iterator {aka std::_Lis
t_iterator<std::pair<double, int> >}' is not derived from 'const std::basic_string<_CharT,
_Traits, _Alloc>'
In file included from e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/bits/locale_facets
.h:50:0,
from e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/bits/basic_ios.h:3
9,
from e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/ios:45,
from e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/ostream:40,
from e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/iostream:40,
from polynomial.h:7,
from polynomial.cpp:1:
e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/bits/streambuf_iterator.h:206:5:
note: t
emplate<class _CharT, class _Traits> bool std::operator==(const std::istreambuf_iterator<_
CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)
e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/bits/streambuf_iterator.h:206:5:
note:
template argument deduction/substitution failed:
polynomial.cpp:40:44: note: 'std::list<std::pair<double, int> >::iterator {aka std::_Lis
t_iterator<std::pair<double, int> >}' is not derived from 'const std::istreambuf_iterator<
_CharT, _Traits>'
In file included from e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/mingw32/bits/c++al
locator.h:34:0,
from e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/bits/allocator.h:4
8,
from e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/deque:62,
from e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/queue:61,
from polynomial.h:5,
from polynomial.cpp:1:
e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/ext/new_allocator.h:129:5:
note: templat
e<class _Tp> bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator<_Tp>&, const __gnu_
cxx::new_allocator<_Tp>&)
e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/ext/new_allocator.h:129:5:
note: templ
ate argument deduction/substitution failed:
polynomial.cpp:40:44: note: 'std::list<std::pair<double, int> >::iterator {aka std::_Lis
t_iterator<std::pair<double, int> >}' is not derived from 'const __gnu_cxx::new_allocator<
_Tp>'
In file included from e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/bits/stl_algobase.
h:68:0,
from e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/deque:61,
from e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/queue:61,
from polynomial.h:5,
from polynomial.cpp:1:
e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/bits/stl_iterator.h:813:5:
note: templat
e<class _Iterator, class _Container> bool __gnu_cxx::operator==(const __gnu_cxx::__normal_
iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container
>&)
e:mingwbin../lib/gcc/mingw32/4.7.1/include/c++/bits/stl_iterator.h:813:5:
note: templ
ate argument deduction/substitution failed:
创建mvce为我解决了这个问题,错误是for循环中的函数调用。
char sign = (i->first <= 0 || i == terms.begin)? ' ' :'+';
与::迭代器无关。感谢大家的宝贵时间和建议。
相关文章:
- 请解释这句话(cout<<1+int((a<b)^((b-a)&1) )<<endl
- 呼叫运营商<<临时
- 如何防止clang格式在流运算符调用之间添加换行符<<
- <<操作员在下面的行中工作
- EASTL矢量<向量<int>>连续的
- C - 创建矢量&lt; vector&lt; double&gt;&gt;矩阵具有分配而不是inizializ
- 为什么将此对向量&lt; map&lt; int,int&gt;&gt;中的地图进行更新.失败
- C :对矢量进行排序&lt; struct&gt;(结构有2个整数)基于结构的整数之一
- 明确的专业化“ CheckIntmap&lt;&gt;”实例化
- 什么是模板&lt;&gt;inline bla bla
- 编辑C Qlist&lt; object*&gt; gt;QML代码和一些QML警告中的模型
- eigen :: llt&lt;eigen :: matrixxd&gt;具有不完整的类型
- 错误,包括&lt; ctype&gt;在原子上使用C 11
- std::vector<;uint8_t>;当C++11/14启用时,手动复制而不是调用memcpy
- 如何加入向量&lt; int&gt;到C 中的单个INT
- 是std :: set&lt; std :: future&gt;不可能存在
- 是numeric_limits&lt; int&gt; :: is_modulo从逻辑上矛盾
- opencv 2.4.7在iOS错误背景_segm.hpp #include&lt; list&gt;未找到
- 在修改列表后,std :: list&lt; t&gt; :: end()的值是否会更改
- ///<评论></评论>在Visual Studio中