Ich benutze C++, um ein Schachspiel zu programmieren. Ich möchte zwei Klassenattribute für das Klassenboard erstellen: ROWS und COLUMNS. In Java würde ich sie als statisches Finale deklarieren und alles würde so funktionieren, wie ich es möchte. Wie mache ich die gleiche Deklaration in C++? Ich muss auf diese Attribute von "Board :: ROWS" und "Board :: COLUMNS" in anderen Klassen zugreifen.C++ Java statisches endgültiges Äquivalent
Was ich habe, ist dies, die Kompilierungsfehler wirft, da ROWS und Spalten nicht im Rahmen der Deklaration von m_TileMap deklariert sind. Gibt es eine gute Übung, dies zu tun, ohne #define Aussage zu verwenden?
class Board {
Tile *m_TileMap[ROWS][COLUMNS];
public:
static const int ROWS = 8;
static const int COLUMNS = 8;
Board(int m[ROWS][COLUMNS]);
}
Ich empfehle stattdessen std :: vector statt! –