- 301 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 22:16:02 ]
- クラスの2次元配列を用いるにはどう宣言すればよいでしょうか
具体的には、 class Complex { public: double re;//実部 double im;//虚数部 }; という複素数のクラスを用いて行列を作成したいのですが、メインで #define SIZE 5 int main(){ Complex **comp_mat; comp_mat = new Complex[SIZE][SIZE]; } のようにしますと(*)[5]型は**型に変換できませんとエラーが出ます。 どのようにすればいいのかわからないので1次元で宣言して以下のように アクセスしていました。(comp + i * SIZE + j )の記述がわかりにくいので 簡単にしたいのですが、よろしくお願いします int main(){ int i , j ; Complex *comp_mat ; comp_mat = new Complex[SIZE*SIZE] ; //compを(-1 , -1)の値で埋める for( i = 0 ; i < SIZE ; i++ ){ for( j = 0 ; j < SIZE ; j++){ (comp + i * SIZE + j ) ->re = -1.0 ; (comp + i * SIZE + j ) ->im = -1.0 ; } } ・・・・省略・・・・ }
|

|