全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:857
推到 Plurk!
推到 Facebook!

private 值的設定問題

尚未結案
quard0314
一般會員


發表:10
回覆:18
積分:5
註冊:2003-03-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-08 22:30:35 IP:140.135.xxx.xxx 未訂閱
class car { private : int maxarray; int a7count; protected : public : void scan_row(Graphics::TBitmap*); int * group(int*,int); int Find_First_Edge(int*,int); }; int * car::group(int *a3,int a3count) { ................. ................. int maxarray = 0; int a7count = 0; //理論上maxarry & a7count 的值已經在此被更改,用run by step 看private中的value的確是被更改了 } int car::Find_First_Edge(int * exact_row,int exact_y ) { // 跑到這裡時 ,a7count和maxarray 的值已經不見了 用run by step 的值變成 "??????" <---怎麼會變成問號呢??? int *a7,*a5,*a6; a7[a7count]= exact_y ; a5[a7count] = exact_row[0]; a6[a7count] = exact_row[maxarray-1]; a7count = a7count 1; return 0; } 請問各位大大,這到底怎麼解決呢.... 我想把那兩個變數繼續在Find_First_Edge這個function中使用....
Royce520
高階會員


發表:18
回覆:157
積分:100
註冊:2002-09-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-08 23:09:48 IP:61.216.xxx.xxx 未訂閱
quard0314 你好,    以下程式碼  是不是有錯呢? 怎麼相同的變數名稱又宣告一次??? int * car::group(int *a3,int a3count) { ................. ................. int maxarray = 0; int a7count = 0; //理論上maxarry & a7count 的值已經在此被更改,用run by step 看private中的value的確是被更改了 } 如果是因為你這裡出錯 哪麼值是不會設到 你想的變數裡的 另外, 那兩個變數還沒有設定 起始值, 所以 BCB 以??? 來表示 因此, 請檢查依下這些錯誤 發表人 -
------
不要忘記呼吸,不要忘記編程! ∩__∩
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-08 23:59:58 IP:203.204.xxx.xxx 未訂閱
quard0314, 您好  
int * car::group(int *a3,int a3count)
{
.................
.................
int maxarray = 0;
int a7count = 0; //理論上maxarry & a7count 的值已經在此被更改,用run by step 看private中的value的確是被更改了
}
 
(1)請問您在這個Function也要用到maxarray, a7count這二個變數,且這二個變數的值與其他地方的值也都共通嗎? 紅色部分的意思是: (2)您只是要將這二個變數初始化嗎? 如果以上的答案是 (1)是,且也共通 (2)初始化 那請將紅色部分中的int刪除。 如果不是請增加以下紅色部分
private :
int maxarray = 0 ;
int a7count = 0 ;
 
以上方法請試試看。 ======================= 是非終日有,不聽自然無 天下本無事,庸人自擾之
quard0314
一般會員


發表:10
回覆:18
積分:5
註冊:2003-03-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-09 00:48:43 IP:140.135.xxx.xxx 未訂閱
引言: quard0314, 您好
int * car::group(int *a3,int a3count)
{
.................
.................
int maxarray = 0;
int a7count = 0; //理論上maxarry & a7count 的值已經在此被更改,用run by step 看private中的value的確是被更改了
}
 
(1)請問您在這個Function也要用到maxarray, a7count這二個變數,且這二個變數的值與其他地方的值也都共通嗎? 紅色部分的意思是: (2)您只是要將這二個變數初始化嗎? 如果以上的答案是 (1)是,且也共通 (2)初始化 那請將紅色部分中的int刪除。 如果不是請增加以下紅色部分
private :
int maxarray = 0 ;
int a7count = 0 ;
 
以上方法請試試看。 ======================= 是非終日有,不聽自然無 天下本無事,庸人自擾之
private裡頭無初始化ㄟ....><... 各位大大還有方法媽???
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-09 00:55:05 IP:140.135.xxx.xxx 未訂閱
quard0314您好:    
引言: private裡頭無初始化ㄟ
是要讓private初始化的話.. 試試
 
 public:
 car() //建構函數
  {
    maxarray=0;
    a7count=0;
  }
 
順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 -
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-09 01:01:39 IP:203.204.xxx.xxx 未訂閱
引言: private裡頭無初始化ㄟ....><... 各位大大還有方法媽???
quard0314, 您好 sorry, 沒有注意到private裡無法初始化。 請問那兩個變數除了Find_First_Edge別的地方還會用到嗎? 如果不會可以把初始化寫在Find_First_Edge這個Function裡。 ======================= 是非終日有,不聽自然無 天下本無事,庸人自擾之
系統時間:2024-05-07 14:49:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!