[問題] 如何將vector 設為類別的private成員

看板C_and_CPP作者 (無聊的人)時間13年前 (2011/01/21 22:48), 編輯推噓1(1011)
留言12則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 想請問,如何將vector設為class內private成員? 預期的正確結果(Expected Output): 希望能讀到類別內的vector 錯誤結果(Wrong Output): 不合法的間接取值 指向這段 double Gaussian::get(int i) { return *mean[i]; } 程式碼(Code):(請善用置底文網頁, 記得排版) Gaussian.h class Gaussian { public: Gaussian(void); Gaussian(int); ~Gaussian(void); void MGD(double*,const int,const double,const double,Gaussian*); double get(int); private: double w,*mean,deal,alpha,rho; int k; }; Gaussian.cpp #include "stdafx.h" #include "Gaussian.h" #include <vector> #include <iostream> using namespace std; Gaussian::Gaussian(void){ vector<double> mean(2,10); //vector<double> w(2); //vector<double> deal(2); } Gaussian::~Gaussian(void){} double Gaussian::get(int i) { return *mean[i]; } 補充說明(Supplement): 麻煩各位幫忙,我用很久還是搞不定= =" 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.255.103.122

01/21 22:54, , 1F
你那根本是區域變數, 不是資料成員...
01/21 22:54, 1F

01/21 22:56, , 2F
你知道你寫的mean是什麼意思嗎...
01/21 22:56, 2F
應該是double吧... 可是在.h時,好像不能把vector放在private內。 所以我用個double。 能幫忙一下,我真的不知道怎麼用。我是個新手... 謝謝。 ※ 編輯: kasim0226 來自: 111.255.103.122 (01/21 23:01)

01/21 23:25, , 3F
嗯@@~ 你這樣寫 mean只在Gaussian建構子有效
01/21 23:25, 3F

01/21 23:28, , 4F
不知道你這樣做要幹嘛 mean怎麼會不能寫在private 我猜是
01/21 23:28, 4F

01/21 23:29, , 5F
你寫了 mean(2,10)的關係...
01/21 23:29, 5F

01/21 23:30, , 6F
你原本寫double mean 跟 vector <double> mean是不同的東西
01/21 23:30, 6F
我本來想用,類似這樣的形勢下去寫。改到最後已經亂七八糟了XDD private: int *mean; Gaussian::Gaussian(int length) { mean = new int[length]; }

01/21 23:33, , 7F
不要加 void ...
01/21 23:33, 7F
這是VC自己加的,應該影響不大。(大概) 我VC寫沒多久了...抱歉。

01/21 23:33, , 8F
class裡的變數不能設定初始值...
01/21 23:33, 8F

01/21 23:33, , 9F
我覺得你去找本很基礎的書或同學解救你比較好 ...
01/21 23:33, 9F

01/21 23:34, , 10F
你寫這個不算是新手, 比較像新手之前的問題
01/21 23:34, 10F

01/21 23:36, , 11F
你說"不能把vector放在private內 所以我用個double"
01/21 23:36, 11F

01/21 23:37, , 12F
我不太能了解這句話的意思
01/21 23:37, 12F
是我忘記用std:: 謝謝大家的幫忙。 程度差加上精神不好,問了個白癡的問題,真的很抱歉。 謝謝 ※ 編輯: kasim0226 來自: 111.255.103.122 (01/22 01:45)
文章代碼(AID): #1DEPoeu0 (C_and_CPP)