SA-MP Forums Archive
enum магия - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: enum магия (/showthread.php?tid=626854)



enum магия - BitMan - 21.01.2017

Как во втором варианте получается 65? Как работает эта магия?

PHP Code:
enum edata
{
    
name[25],
    
pass[65],
    
logged
}
new 
pInfo[100][edata];
stock const psizesizeof(pInfo[]) ]; 
PHP Code:
printf("%d"pass); // 25 
PHP Code:
printf("%d"sizeof(psize[pass])); // 65 
PHP Code:
printf("%d"sizeof(psize[25])); // error 



Re: enum магия - Eims - 21.01.2017

Ты указываешь на конкретный член перечисления и sizeof возвращает его размер.

А в третьем случае ошибка из-за того, что у тебя в результате получается одномерный массив, размер которого равен 91-ой ячейке, ибо при инициализации ты обращаешься не к перечислению, а к массиву pInfo.