作者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