クラスでは、クラスがその型で作成されたオブジェクトを持つまで、境界を指定せずに配列 (ヘッダー クラスにあるため事前定義されています) を作成したいと考えています。例えば:
class RandomClass{
public:
int myarray[][];//Remember this is a 2D array, 1D arrays can be defined like this.
}
(このクラスは不完全です、私は知っています、そうではないふりをするだけです)「境界を定義せずに配列を作成することは許可されていない」ため、明らかにこれは機能しません
だから私の質問は、どうすればこれを行うことができますか? または、クラスのメンバーにパブリックにアクセスされるクラスのコンストラクター内に配列を作成するにはどうすればよいですか。
なぜ私がこれをしたいのかについてのちょっとした情報; 2D ゲームのマップを処理するクラスを作成しようとしています。クラスが作成されると、コンストラクターのパラメーターを介してマップのサイズが与えられ、配列が作成されるので、それは必要ありません。マップ自体のサイズよりも大きい。ベクトルを使用できる可能性があることは知っていますが、それらを 2 次元にするのは困難です。(私の質問に答える場合は、最初に主な質問に答えてください。この状況でベクトルを使用する方法を教えてはいけません-しかし、それも役に立ちます)
理由はあまりありませんが、エラーを投稿します。
エラー: 多次元配列としての 'myarray' の宣言には、最初の次元を除くすべての次元の境界が必要です