ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
250012 Топик полностью
testerplus (26.04.2011 10:43 - 10:45, просмотров: 97) ответил Bublic на A как сделать чтобы компилятор автоматически проверял задаваемую программистом #define LEN1 8 длину массива, и если она не равна степени двойки то без лишнего кода выдавал бы при компиляции ошибку или предупреждение? Причем это нужно в проекте
Можно по-тупому через #if:  #define POW2(A) ((A==1)||(A==2)||(A==4)||(A==8)||(A==16)||(A==32)\ ||(A==64)||(A==128)||(A==256)||(A==512)||(A==1024)\ ||(A==2048)||(A==4096)||(A==8192)||(A==16384)||(A==32768)) ... #if !(POW2(LEN1)) #error "LEN1 is not power of 2!" #endif