Re: [問題] 請教一個陣列初始化問題

看板C_and_CPP (C/C++)作者 (fidntrue)時間16年前 (2009/07/28 09:53), 編輯推噓2(203)
留言5則, 1人參與, 最新討論串2/3 (看更多)
底下是我的 .h 檔內容 -------------------------------------------------------- #if !defined(DCT_HEADER_H_) #define DCT_HEADER_H_ class DCT_Header { public: DCT_Header(); virtual ~DCT_Header(); byte pQuantRawTable[64]= {16, 11, 12, 14, 12, 10, 16, 14, 13, 14, 18, 17, 16, 19, 24, 40, 26, 24, 22, 22, 24, 49, 35, 37 29, 40, 58, 51, 61, 60, 57, 51, 56, 55, 64, 72, 92, 78, 64, 68, 87, 69, 55, 56, 80, 109, 81, 87, 95, 98, 103, 104, 103, 62, 77, 113, 121, 112, 100, 120, 92, 101, 103, 99 }; }; #endif ------------------------------------------------------- .cpp 檔只是空的東西 ------------------------------------------------------ #include "stdafx.h" #include "DCT_Header.h" DCT_Header::DCT_Header() { } DCT_Header::~DCT_Header() { } ------------------------------------------------------------------- Compile後錯誤訊息為 error C2059: syntax error : '{' error C2334: unexpected token(s) preceding '{'; skipping apparent function body 若我將初始化工作放在constructor上也不行 (因為已經先在 .h 檔宣告byte pQuantRawTable[64]變數了) 因為這個變數很多 class 都會用到,所以我不希望每個class都用一個local變數宣告他 請問我該怎麼作呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.21.31

07/28 10:11, , 1F
header裡不能這樣宣告吧?? bytep QuantRawTable[64];
07/28 10:11, 1F

07/28 10:12, , 2F
然後在ctor裡, 看你要一個一個assign還是開檔讀回來....
07/28 10:12, 2F

07/28 10:12, , 3F
上面typo, byte pQuan...才對; 另外, byte要確定有被
07/28 10:12, 3F

07/28 10:13, , 4F
typedef過或是IDE有幫你內建; (還是C++其實有byte??)
07/28 10:13, 4F

07/28 10:31, , 5F
第一段有點口誤, 應該是class宣告不能這樣寫而非header.
07/28 10:31, 5F
文章代碼(AID): #1ARbebVn (C_and_CPP)
文章代碼(AID): #1ARbebVn (C_and_CPP)