Frage zu Pointern



  • Hallo,

    ich werde gerade nicht ganz schlau:
    Ich hab einen Zeiger der zeigt in einer Matrix auf ein Element X. An einer bestimmen Stelle brauche die drei Elemente in der Zeile-1, die X berühren:

    2,0,3,0,0[...]
    0,X,[...]

    X = Aktuelle Position die bearbeitet werden soll. Hier sind das also die Elemente 2,0,3

    Ich setze einen Zeiger auf das Element direkt über X, der zeigt also auf die 0. Dieser Zeiger heißt prev_row. Laut Debugger hab ich auch alles richtig gemacht wenn ich mir jetzt folgendes ausgeben lasse:

    --prev_row;  // Zeigt laut Debugger auf 2
    				++prev_row;  // Zeigt auf Inhalt 0
    				++prev_row;  // Zeigt auf Inhalt 3
    				++prev_row;  // Zeigt auf Inhalt 0
    				++prev_row;  // Zeigt auf Inhalt 0
    

    Will ich diese Werte aber direkt ansprechen und zwischenspeichern klappt das nicht ganzt:

    neighbors[0] = *(arr-1);   // Direkter linker Nachbar
    				neighbors[1] = *(prev_row-1);   // Die 2 oben links (klappt)
    				neighbors[2] = *(prev_row);       // Die 0 direkt darüber (klappt)
    				neighbors[3] = *(prev_row+1);   // Die drei oben rechts (klappt nicht, erhalte 0)
    

    Ich raff das nicht, wär cool wenn mir jemand helfen könnte 😞 ➡ 💡 ➡ 😃



  • Alles klar, ein Debuggerproblem.

    Ein cout direkt dahinter hat bewirkt, dass er mir wirklich anzeigt was in der 3 ist. Und zwar der erwartete Wert 3.

    GRRRRRR 😡


Anmelden zum Antworten