Можно ли избавиться от вложенного switch в C++
Допустим, на вход приходит структура struct с 3мя полями a, b, c. Есть switch :
switch(struct.type)
case a:
switch(a.type)
case type1:
{
}
case type2:
{
}
case b:
switch(b.type)
case type3:
{
}
case type4:
{
}
case c:
switch(c.type)
case type5:
{
}
case type6:
{
}
Соответственно, type у каждого поля а, b и с может быть не по 2, а больше, да и самих полей может быть больше трех. Вопрос в том, можно ли в данном примере избавиться от вложенного switch и сделать код более читаемым и элегантным?