作者garance (fidntrue)
看板C_and_CPP
標題Re: [問題] 請教一個陣列初始化問題
時間Tue Jul 28 09:53:40 2009
底下是我的 .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
1F:推 VictorTom:header裡不能這樣宣告吧?? bytep QuantRawTable[64]; 07/28 10:11
2F:→ VictorTom:然後在ctor裡, 看你要一個一個assign還是開檔讀回來.... 07/28 10:12
3F:→ VictorTom:上面typo, byte pQuan...才對; 另外, byte要確定有被 07/28 10:12
4F:→ VictorTom:typedef過或是IDE有幫你內建; (還是C++其實有byte??) 07/28 10:13
5F:推 VictorTom:第一段有點口誤, 應該是class宣告不能這樣寫而非header. 07/28 10:31