私は奇妙な問題があります。キューから(以前にプッシュされたintのペア)をポップした後、ペアの2番目の要素の適切な値と最初の要素の完全なランダム値を取得します。後私が必要とするので、例えばキューがpair.firstの間違った値を返す
Iペア=(368、125)を押した場合 は、私はペア=(14416384、125)
を取得私の代わりに、一対の{INT最初、INT第}自身の構造体を使用することはできませんこれらのintのペアをすぐに見つけることができるように設定しておくと、アプリを大幅に変更する必要はありません。
修正方法はありますか?
コードの断片を以下に示します。
vector<pair<int, int>> objekt;
set<pair<int, int>> przetworzone;
int pointX = m_imgIN.pointX;
int pointY = m_imgIN.pointY;
BYTE currPixel = m_imgIN.m_bitmapObject.GetPixel8(pointX, pointY);
if (currPixel > 0)
{
queue<pair<int, int>> kolejka;
kolejka.push(make_pair(pointX, pointY)); //<- here: pointX=368 and pointY=125
while (kolejka.size() != 0)
{
pair<int, int> p;
p = kolejka.front(); //<- here: p.first=14416384 and p.second=125
kolejka.pop();
if (m_imgIN.m_bitmapObject.GetPixel8(p.first, p.second) > 0)
{
//...
あなたの例はうまくいくように見えますが、問題は提供していない要素の定義内にある必要があります。 [MCVE](http://stackoverflow.com/help/mcve)を提供するためにあなたの例を変更する必要があります。 –