エラーをスローせずに混乱している次の2つのコードがあります。
最初の部分は、配列にプッシュしようとしているカスタムクラスからのものです。
class idRect {
public:
sf::FloatRect rect;
int id;
idRect(int _id, sf::FloatRect _rect) : id(_id), rect(_rect) {}
};
2番目の部分は、関数が呼び出される場所です。
if((deltaX + deltaY) < 500) { //Taxi distance calculation
cout << endl << "Passed check" << endl;
gloAreas.push_back(idRect(id, entity.getGlobalBounds()));
}
gloAreasは、idRectオブジェクトを含むグローバルに定義されたベクトルです。
前に述べたように、コンソールから「Passed check」が出力され、ベクトルのサイズがEDIT:グローバルに増加しないことを確認しました。
編集:エラーもかなりランダムに見え、push_back関数を呼び出すオブジェクトの6つのインスタンスのうち1つでのみ発生します。
私はsf::FloatRectにSFMLを使用しています。これは基本的に4つのfloatのベクトルです。getGlobalBounds()は、スプライトの境界矩形をsf::FloatRect形式で返すSFMLの別の関数です。
何がうまくいかないかについてのアイデアはありますか?
よろしくお願いいたします。BarrensZeppelin
編集2:私自身の無能さとstd :: multisetの並べ替えが混在しているため、エラーが発生したようです。別のスレッドで戻ってくるかもしれません^^(sscce ofcを使用)ありがとうございました。ヘルプ。