2017-03-12 8 views
-2

std :: mapのある静的クラスがありますが、すべて正常に動作しますが、プログラムを終了するとエラー "map/set iterator逆参照できない "。私は本当にそれので、ここでは全体のコードを貼り付けることはできませんC++ XTreeが終了時にクラッシュするmap/setイテレータが逆参照できない

struct Asset { 
    std::map<std::string, std::string> values; 
}; 

static std::map<std::string, std::vector<std::shared_ptr<Asset>>> assets; 

ここ

がマップされている:

struct DataSegment_P { std::string type; }; 
template <typename T> struct DataSegment : public DataSegment_P{ T value; }; 

static std::map<std::string, DataSegment_P*> data; 

もう2:

static std::map<std::string, std::shared_ptr<sf::Texture>> textures; 
static std::map<std::pair<std::string, std::vector<int>>, std::shared_ptr<sf::Sprite>> sprites; 

そして最後に1長さが数千ラインですが、私は地図をクリアしているはずです。

+0

[MCVE]を作成して投稿してください。 –

+0

これは既に最小限で完全で検証可能な例です。存在しているだけで、終了時にアプリケーションがクラッシュします –

答えて

0

問題が見つかりました。申し訳ありませんが、あなたがそれを推測できる方法がなかったので、私のような誰かがそれを解決できるように問題を指摘しています。

私はSFMLを使用しています。スマートポインタを使用して、その中にsf :: RenderWindowを使用できないことがわかりました。それがクラッシュを引き起こしていたものです。

関連する問題