[問題]程式有問題,但不知道哪邊有問題?

看板C_and_CPP (C/C++)作者 (Melo)時間16年前 (2009/12/16 10:01), 編輯推噓3(308)
留言11則, 3人參與, 最新討論串1/1
主要是這兩個迴圈裡頭rand有問題: for(int i=0;i<Dim;i++)for(int j=0;j<NumParticle;j++)// Modify the velocity and position of particle { v[i][j]=v[i][j]+C1*rand.Next(-1.,1.)*(individual_optimal_x[i][j]-x[i][j]) +C2*rand.Next(-1.,1.)*(social_optimal_x[i]-x[i][j]); x[i][j]=x[i][j]+v[i][j]; if(x[i][j]>xHi[i])x[i][j]=xHi[i]; if(x[i][j]<xLo[i])x[i][j]=xLo[i]; } 和 for(int i=0;i<Dim;i++)for(int j=0;j<NumParticle;j++) { x[i][j]=individual_optimal_x[i][j]=rand.Next(xLo[i],xHi[i]); v[i][j]=rand.Next(xLo[i]/20.,xHi[i]/20.); } 編譯的結果是 1>c:\documents and settings\user\my documents\visual studio 2008\projects\pso\pso\pso.cpp(57) : error C2228: '.Next' 的左邊必須有類別/結構 /等位 1>c:\documents and settings\user\my documents\visual studio 2008\projects\pso\pso\pso.cpp(59) : error C2228: '.Next' 的左邊必須有類別/結構 /等位 1>c:\documents and settings\user\my documents\visual studio 2008\projects\pso\pso\pso.cpp(120) : error C2228: '.Next' 的左邊必須有類別/結 構/等位 1>c:\documents and settings\user\my documents\visual studio 2008\projects\pso\pso\pso.cpp(122) : error C2228: '.Next' 的左邊必須有類別/結 構/等位 請問大家要怎麼debug呢?? 小弟感激不盡!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.201.37

12/16 10:12, , 1F
錯誤訊息不是寫的很明確了嗎?? .Next的左邊必須是一個
12/16 10:12, 1F

12/16 10:12, , 2F
class或struct的instance, 你的rand是自己定義的什麼東
12/16 10:12, 2F

12/16 10:13, , 3F
西嗎?? 如果include了stdlib.h或某些其他header, 這可
12/16 10:13, 3F

12/16 10:13, , 4F
是取亂數回來用的函數....
12/16 10:13, 4F

12/16 10:16, , 5F
include "randgen.h",我是上網去下載這個標頭檔
12/16 10:16, 5F

12/16 10:19, , 6F
那你有宣告那個 rand 嗎? 又你有 include cstdlib 嗎
12/16 10:19, 6F

12/16 10:24, , 7F
include了,還是不行。還有為何要宣告RAND啊?
12/16 10:24, 7F

12/16 10:27, , 8F
你要使用任何函數或變數之前, 必定要先有它的宣告/定義,
12/16 10:27, 8F

12/16 10:27, , 9F
不然compiler不知道怎麼處理一個不認識(沒被宣告/定義)
12/16 10:27, 9F

12/16 10:27, , 10F
的東西.
12/16 10:27, 10F

12/16 10:29, , 11F
恩恩,我知道了,我在試試吧。謝謝兩位!!
12/16 10:29, 11F
文章代碼(AID): #1BA3zsOc (C_and_CPP)
文章代碼(AID): #1BA3zsOc (C_and_CPP)