Здравствуйте, SpLove, Вы писали:
SL>Объясните пожалуйста
почему я не могу написать так:
SL>SL>struct journal_page
SL>{
SL> unsigned int csum;
SL> unsigned char data[512];
SL> const unsigned short MAGIC = 0x3035; // ругается на это
SL> static unsigned int calc_csum(char* buf, unsigned size){return 1;}
SL>};
SL>
SL>Компилятор в VC++ 6.0 SP6 это не проглатывает
. Хотя по-моему должен
Не должен. Инициализировать внутри структуры можно только статическую константу, которая одна для всех структур.
Т.е. в данном случае можно написать так :
static unsigned const short MAGIC = 0x3035;