C++ を使用してチェス ゲームをプログラミングしています。クラス Board の 2 つのクラス属性、ROWS と COLUMNS を作成したいと考えています。Java では、それらを static final として宣言すると、すべてが思いどおりに機能します。C++ で同じ宣言を行うにはどうすればよいですか? 他のクラスの「Board::ROWS」と「Board::COLUMNS」でこれらの属性にアクセスする必要があります。
これは、ROWS と COLUMNS が m_TileMap の宣言の範囲内で宣言されていないため、コンパイル エラーをスローしています。#defineステートメントを使用せずにこれを行うための良い方法はありますか?
class Board {
Tile *m_TileMap[ROWS][COLUMNS];
public:
static const int ROWS = 8;
static const int COLUMNS = 8;
Board(int m[ROWS][COLUMNS]);
}