QDirIterator, сбросить итератор, установить новый путь - PullRequest
0 голосов
/ 02 марта 2020

Мне интересно сбросить QDirIterator, установив новый путь. например,

    QDirIterator it(path, QStringList() << "*", QDir::Files);

    while (it.hasNext())
    { 
         // do job
    }

    it = QDirIterator(another_path, QStringList() << "*", QDir::Files));

    while (it.hasNext())
    {
         // iterate another directory
    }

В этом примере выдается ошибка компиляции: "Выбрано разрешение перегрузки удаленный оператор '='"

Есть ли способ задать новый путь для итератора?

Спасибо.

PS: я говорю о Qt5

1 Ответ

0 голосов
/ 02 марта 2020

Вместо того, чтобы пытаться повторно использовать один и тот же QDirIterator, просто используйте несколько экземпляров, но соответственно ограничьте их ...

for (QDirIterator it(path, QStringList() << "*", QDir::Files); it.hasNext(); ) {

    /*
     * Do job.
     */
}

for (QDirIterator it(another_path, QStringList() << "*", QDir::Files); it.hasNext(); ) {

    /*
     * Iterate another directory.
     */
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...