定数として整数を使用して2次元配列を宣言しようとしていますが、このエラーは引き続き発生します。C++:new-expressionの配列サイズは一定でなければならない
template <class Type>
matrixType<Type>::matrixType(){
h = maxSize;
w = maxSize;
matrix = new Type[maxSize][maxSize];
defaultFill();
}
マトリックスはとして宣言される:
Type* matrix;
とmaxSizeのは、以下のように宣言される:new typename [items_count]
:
const int maxSize = 4;
としてはちょうど 'のstd :: vector'使用(または'のstd ::のサイズがコンパイル時に固定されている場合array')を考えます。古いCスタイルの配列は忘れてしまいます。 –
'maxSize'はどのように、いつ、どこで宣言され定義されていますか?あなたは私たちに[最小、完全で、そして証明可能な例](http://stackoverflow.com/help/mcve)を見せてもらえますか? –
Cの2D配列は、ダブルポインタ、つまりポインタのポインタです。ポインタのリストを最初に割り当て、ポインタのリスト内の各ポインタにTypeのリストを割り当てる必要があります。 – jodag