STL算法找不到iterator_category()

时间:2013-11-04 16:23:35

标签: c++ algorithm stl xcode5

我正在尝试为生产卷渲染书(github here)构建pvr,一个开源卷渲染器,供参考。

使用OS X Mavericks和LLVM 5.0,我在algorithm.h上遇到以下错误:

  

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin /../ LIB / C ++ / V1 /算法:1834:90:   错误:没有名为'iterator_category'的类型   “的std :: __ 1 :: iterator_traits

     
    

:迭代>”              VSTD :: _fill(__ first,__ pop,_ value ,typename iterator_traits< _ForwardIterator> :: iterator_category());

  

错误引用algorithm.h的这一部分:

template <class _ForwardIterator, class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
void
fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
{
    _VSTD::__fill(__first, __last, __value_, typename iterator_traits<_ForwardIterator>::iterator_category());
}

我不认为我完全理解发生了什么。我试过添加

#include <iterator>

在客户端代码中,但没有任何改变。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

可能是指定迭代器不正确的结果。你应该检查你如何调用std :: fill