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

自訂型態初使值 指定問題

尚未結案
pony0385
一般會員


發表:1
回覆:1
積分:0
註冊:2005-01-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-02 15:59:37 IP:59.120.xxx.xxx 未訂閱
這個問題程式如下.........    
struct A 
{
      int x  [ 5  ];  
      int Y  [ 3 ];  
      int  CN [ 2 ];
};
struct B
{
       A aa ;// [2][5];                                   
};    struct B ad[2] =
{
  {
    {
      {0,0,0,0,0},
      {0,0,0},
      {0,0}
    },
    {
      {0,0,0,0,0},
      {0,0,0},        
      {0,0}
    }
  }
};    void main()
{    }
error C2078: too many initializers 出現這個 錯誤訊息 compile 無法過.. 請問棧上的前輩可否給予指點....謝謝 發表人 - pony0385 於 2005/09/02 17:51:13 發表人 - pony0385 於 2005/09/02 22:59:13
 
 
 
 
 
 
 
 
 
 
 
發表人 - pony0385 於 2005/09/02 23:01:46
------
haha
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-02 16:28:08 IP:210.68.xxx.xxx 未訂閱
您好:    PO程式碼的方式與版規說明請參考下面連結,煩請修改謝謝您的配合 >
windblown
中階會員


發表:0
回覆:117
積分:98
註冊:2003-11-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-05 16:30:05 IP:61.229.xxx.xxx 未訂閱
struct B ad[2] =
{
  {
    {
      {0,0,0,0,0},
      {0,0,0},
      {0,0}
    }
  },
  {
    {
      {0,0,0,0,0},
      {0,0,0},
      {0,0}
    }
  }
};
發表人 - windblown 於 2005/09/05 16:33:36
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-06 09:41:18 IP:203.70.xxx.xxx 未訂閱
pony0385您好 先不論ad變數的型別,基本上ad變數是一個陣列,其中包含2個元素, 因此如果要用這種方式初始的話,就只能有2個右大括號...  
 struct B ad[2] =
{
      {
        0,0,0,0,0,
        0,0,0,
        0,0
      },
      {
        0,0,0,0,0,
        0,0,0,
        0,0
      },
};
由於ad是struct B型別,因此裡面必須自行去初始其中元素... 所以像這種情形時,建議使用函式去初始就好,例如 memset()或ZeroMemory()等等... 如果是要特別指定某幾個元素值時,也建議這樣寫... ad[0].aa.x[3] = 5; ad[1].aa.CN[1] = 3; ... ... 如果一定要寫成展開式,應該就只能寫成小弟上面寫的那樣了... 參考看看 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
系統時間:2024-05-03 19:50:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!