等同于迭代器

Equating iterators

本文关键字:迭代器 等同于      更新时间:2023-10-16

我在C 中遇到了一些set ::迭代器的问题。我有一组2D点,我需要迭代并比较三分三。

我的想法是使用三个循环来逐渐增加迭代器。但是当我尝试时,C 给了我一个错误:

for (set<pair<double, double> >::iterator i = S.begin(); i != S.end(); i++){
    for (set<pair<double, double> >::iterator j = i+1; j != S.end(); j++){
        ...
    }
}

编辑:错误是"错误:'i 1'中的'ocerator '无匹配"

std :: Set具有双向迭代器。它没有迭代器 整数编号的操作。因此,请改用

for (set<pair<double, double> >::iterator j = std::next( i ); j != S.end(); j++){