作者yyc1217 (somo)
看板C_and_CPP
標題[語法] 在struct裡宣告資料陣列
時間Fri May 8 01:47:42 2009
我現在有一個struct定義如下:
struct MAN{
struct POSITION pos;
int dir;
int newDir;
float col[3];
}man;
我是在給col[]值的部分遇到了問題
我本來是想做成
man.col = { 1.0f, 1.0f, 0.0f};
可是編譯不給過,所以目前是以下的方式給值
man.col[0] = 1.0f;
man.col[1] = 1.0f;
man.col[2] = 0.0f;
第二種方法編譯是可以過的
我想請問的是,要怎麼樣做 才能像第一種方法那樣
把一個陣列直接給到struct裡的資料陣列裡
而不用像第二種方法一樣 一個一個給
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.31.170.246
1F:推 jerohands:第一種寫法是Initialize,宣告時才能那樣寫 05/08 01:49
2F:→ jerohands:struct定義裡面 float col[3] = {1.f, 1.f, 0.f}; 05/08 01:50
3F:→ yyc1217:其實我還有使用該struct產生man[0], man[1]等 05/08 01:59
4F:→ yyc1217:而每個man都有自己的col,所以我想要在外面做給值的動作 05/08 02:00
5F:→ yyc1217:而不在一開始宣告的時候給 05/08 02:00
6F:推 sunneo:那我想你還是乾脆寫個function把那動作包成參數列吧 05/08 02:03
7F:→ sunneo:把動作改成initColOfMAN(Man *m,float a,float b,float c) 05/08 02:04