[問題] vector 宣告在結構? & 以及應用

看板C_and_CPP (C/C++)作者 (aloha)時間16年前 (2009/09/16 16:32), 編輯推噓3(304)
留言7則, 6人參與, 最新討論串1/1
struct griddef{ int gridSize_t; int gridSize_w; double out_bound; vector<double> volume(gridSize_w); vector<vector<double> > fluence(gridSize_t,vector<double>(gridSize_w)); vector<vector<double> > Source(gridSize_t,vector<double>(gridSize_w)); vector<vector<double> > absorption(gridSize_t,vector<double>(gridSize_w)); }; 在網路上查到這樣的宣告方法 我把它用在結構裡 掛.... ====================================================================== 如果我想要把它丟到函數去運算 void grid(struct photon *a , struct griddef *b) { double r =sqrt((a->x)*(a->x)+(a->y)*(a->y)); unsigned int i_1=r/dr; double i=(double)i_1;i++; unsigned int j_1=a->z/dz; double j=(double)j_1;j++; if (r>width) { b->out_bound=b->out_bound+a->weight*(ma/(ma+ms));} else { b->absorption[j][i]=b->absorption[j][i]+a->weight*(ma/(ma+ms)); b->volume[i]=(2*i+1)*pi*dr*dr*dz; b->Source[j][i]=b->absorption[j][i]/(photon_number*b->volume[i]); b->fluence[j][i]=b->Source[j][i]/ma; } } 還是掛..... 還說結構裡沒有這些函數 已經拖很久的程式碼 冏 ..... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.174.168 ※ 編輯: alohaiscool 來自: 140.112.174.168 (09/16 16:33)

09/16 16:37, , 1F
雖然我和C++與vector不熟, 可是結構裡那個宣告看起來怪
09/16 16:37, 1F

09/16 16:37, , 2F
怪得說?? 那個寫法build出來應該直接有error吧@_@"
09/16 16:37, 2F

09/16 16:51, , 3F
乍看之下為啥要有(括號阿)??vector<double>(去掉括號呢)
09/16 16:51, 3F

09/16 17:01, , 4F
網路不一定是對的XD
09/16 17:01, 4F

09/16 17:24, , 5F
你的宣告方法都是錯的,建議找本好一點的參考書
09/16 17:24, 5F

09/16 19:07, , 6F
struct的vector先不要初始大小
09/16 19:07, 6F

09/17 16:13, , 7F
版上精華區的宣告是這樣說...
09/17 16:13, 7F
文章代碼(AID): #1AiAAXgB (C_and_CPP)
文章代碼(AID): #1AiAAXgB (C_and_CPP)