Пропал итератор в классе

Столкнулся с проблемой, что куда-то исчезает итераторы из Qt'овых и STL'евых контейнеров. Пробовал выносить контейнер за класс, делая его статичным, это помогало. При прогоне дебагером, выдает SIGSEGV в участке с стартовым итератором.

map.h

class Map
{
private:
    Map(){addSeed(Position(20,20));} //test
    static Map *_self;
    ...
    QList<Seed*> Seeds;
public:
    static Map *init()
    {
        if(_self == nullptr)
            _self = new Map;
        return _self;
    }
    ...

    void plusAge(QVector<Position>&);
};

map.cpp

#include "map.h"
Map* Map::_self = nullptr;
...

void Map::addSeed(Position pos, Gen *genome)
{
    ...
    Seeds<<new Seed(pos);
}

void Map::plusAge(QVector<Position> &result)
{

    for(auto it = Seeds.begin(); it != Seeds.end(); it++) // вот тут то и крашится
    {
    ...
    }
}

Ответы (0 шт):