Code: Select all
struct BattleshipCoordinates
{
int row; // zero-based row offset
int col; // zero-based column offset
}
< /code>
Beachten Sie, dass die Koordinaten nativ als Null-basierte Index-Offsets gespeichert werden. [url=viewtopic.php?t=14917]Ich möchte[/url] diese im Debugger in einer "natürlicheren" Sicht für Schlachtschiff -Koordinaten anzeigen (d. H. Wenn die Struktur {0, 0} enthält, möchte ich, dass der Debugger "A1" für die obere linke Ecke anzeigen kann). [url=viewtopic.php?t=14917]Ich möchte[/url] diese benutzerdefinierte Formatierung mit einer .natvis -Datei ausführen.
{(char)(row + 'A')}{(char)(col + '1')}
< /code>
Es gibt eine Reihe von Problemen mit diesem Ansatz; Das aktuelle Ergebnis für {0,0} wird im Debugger als 65'A'49'1 '
Welche geheime Sauce fehlt ich? Gibt es eine Methode, durch die ich mehrere Werte streamen kann? Wenn ich eine der verfügbaren TO_string -Funktionen in meinem Code anrufen könnte, würde dies auch funktionieren. Aber meines Wissens ist nichts davon in der NATVIS -Syntax verfügbar ...