我得到「初始值設定元素不是常量」以下聲明錯誤。初始值設定元素不是恆>目標C
struct EBD_HEADER
{
char x;
int Key;
char Number;
int ID;
int Version;
}EBD_HEAD;
struct EBD_TRAILER
{
int Crc_0;
int Crc_1;
int Etx;
}EBD_TRAIL;
static const int EBD_HEADER_SIZE = sizeof(EBD_HEAD);
static const int EBD_TRAILER_SIZE = sizeof(EBD_TRAIL);
static const int RMH_ENCODED_MSG_OVERHEAD = EBD_HEADER_SIZE +
EBD_TRAILER_SIZE; //**error:Intializer Element is not a constant**
靜態const int的RMH_ENCODED_MSG_OVERHEAD =的sizeof(EBD_HEAD)+的sizeof(EBD_TRAIL);這個編譯好。不知道爲什麼。 – taskinoor 2011-05-17 11:14:22
@taskinoor:是的,我照你說的,它works.But我有7〜8個這樣的聲明,所以我換成宏作爲epatel問我要不要 – spandana 2011-05-17 11:35:26
@ron,是epatel者的回答更好。我甚至不是答案。我只是好奇這裏發生了什麼。 – taskinoor 2011-05-17 11:47:23