Здравствуйте, WiseAlex, Вы писали:
WA>как это реализовать? Решение необходимо типовое, т.к. таких switch много и в разных фунциях и классах.
Можно так:
#define C1_FINISHED 0x01
#define C2_FINISHED 0x02
#define C3_FINISHED 0x04
#define C4_FINISHED 0x08
#define C5_FINISHED 0x10
#define C6_FINISHED 0x20
#define C7_FINISHED 0x40
#define C8_FINISHED 0x80
BYTE flags = 0;
while (){
...
switch(a)
{
case c1:...
flags |= C1_FINISHED;
break;
case c2:...
flags |= C2_FINISHED;
break;
...
default:
}
if (flags == 0xFF)
{
// all variants finished
...
}
flags = 0;
Соответственно, если у типа enum больше значений, то можно взять WORD или DWORD.
... << RSDN@Home 1.1 beta 2 >>