z-orderでソートされたノードのリストがあります(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>'に変換できません
この最小化された例に間違いはありますか、それともより多くのコードを提供する必要がありますか?