0

我正在尝试构建 pvr,这是一个用于生产体积渲染书的开源体积渲染器(github here,供参考)。

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

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/algorithm:1834:90:错误:'std::__1 中没有名为'iterator_category'的类型::iterator_traits

::iterator>' VSTD:: _fill(__first, __last, _ value , 类型名 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>

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

我错过了什么吗?

4

1 回答 1

0

这可能是错误指定迭代器的结果。您应该检查如何调用 std::fill

于 2013-11-04T16:41:10.250 回答