[問題] array在class裡宣告方法

看板C_and_CPP (C/C++)作者 (joy)時間16年前 (2010/04/18 00:20), 編輯推噓7(706)
留言13則, 6人參與, 最新討論串1/1
今天在做稀疏矩陣反轉時遇到的程式問題 以下是程式碼 class SparseMatrix { public: SparseMatrix(int r=0 , int c=0 , int t=0 ); SparseMatrix Transpose(); private: MatrixTerm *Array; int Rows, Cols,Terms,Capacity; }; class MatrixTerm { friend SparseMatrix; private: int row, col, value; }; SparseMatrix SparseMatrix::Transpose(){ SparseMatrix b(Cols,Rows,Terms); if (Terms>0){ int CurrentB=0; for(int c=0;c<Cols;c++) for(int i=0;i<Terms;i++) if(Array[i].col==c){ b.Array[CurrentB].row=c; b.Array[CurrentB].col=Array.row; b.Array[CurrentB++].value=Array.value; } } return b; } 現在遇到問題是編譯不過(用的是vc2008) 再想應該是Array的部分有出錯 請問是在宣告的時候沒有初始化嗎? 小弟這個問題檢查了很久 可是以前沒用過malloc也不太確定這個可不可以在這邊使用 有請好心人幫我解惑了... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.153.169 ※ 編輯: johney719 來自: 114.27.153.169 (04/18 00:22) ※ 編輯: johney719 來自: 114.27.153.169 (04/18 00:22)

04/18 00:22, , 1F
錯誤訊息?
04/18 00:22, 1F

04/18 00:27, , 2F
b.Array[CurrentB]->row
04/18 00:27, 2F

04/18 00:32, , 3F
Array是個指標 都沒給值就拿來用感覺很危險
04/18 00:32, 3F

04/18 02:02, , 4F
貼下錯誤訊息吧 光看這段 難道你沒定義建構子嗎@@
04/18 02:02, 4F

04/18 02:24, , 5F
二樓那個是錯的吧~?
04/18 02:24, 5F

04/18 09:53, , 6F
咦? 錯在哪? Array不是指標嗎?
04/18 09:53, 6F

04/18 09:56, , 7F
而且建構子應該有定義吧 只是沒PO出程式碼
04/18 09:56, 7F

04/18 09:57, , 8F
程式碼第三行不就是建構子嗎
04/18 09:57, 8F

04/18 10:10, , 9F
Array is a pointer, not a object
04/18 10:10, 9F

04/18 10:45, , 10F
版主淚目 發文格式都沒人要理...
04/18 10:45, 10F

04/18 12:19, , 11F
t大我是說他沒定義出來搞不好寫錯呀~ pointer他取index了阿
04/18 12:19, 11F

04/18 12:19, , 12F
所以用 . 吧
04/18 12:19, 12F

04/18 12:44, , 13F
對耶XD
04/18 12:44, 13F
文章代碼(AID): #1BoT-p9L (C_and_CPP)
文章代碼(AID): #1BoT-p9L (C_and_CPP)