Re: sizeof(enum) - это баг?
От: kapnuu Россия  
Дата: 09.11.07 12:32
Оценка: +1 :)
Здравствуйте, vopl, Вы писали:

V>
V>#include "stdafx.h"

V>enum E
V>{
V>    e  = 0x100000000LL,
V>};

V>int main()
V>{
V>    printf("%d\n", sizeof(E));
V>    return 0;
V>}

V>


V>MSVC 7 выводит 4


естессно, sizeof(enum) не может быть больше sizeof(int). у Вас и e == 0 (разве компилятор не предупредил?) попробуйте так:

enum E: long long
{
    e  = 0x100000000LL,
};
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.