我有一个按 z 顺序排序的节点列表(http://en.wikipedia.org/wiki/Z-order_curve)。我试图找到比 zPosition 更大的第一个节点。iterTransform 对象接受一个迭代器并返回一个二进制位置表示(与 zPosition 类型相同)。这种类型可以通过pathCmp进行比较
NodeIterT last = std::upper_bound(
boost::make_transform_iterator(begin, iterTransform), // return PathType
boost::make_transform_iterator(end, iterTransform),
zPosition,
pathCmp ); // takes two PathType arguments
编译时我得到
错误 C2440:“正在初始化”:无法从“boost::transform_iterator < UnaryFunc,Iterator,Reference,Value >”转换为“std::_Vector_iterator<_Myvec>”
在这个最小化的示例中是否有任何错误,或者我需要提供更多代码吗?