Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
kompilatorgräns: block kapslade för djupt
Anmärkningar
Kapsling av kodblock överskrider gränsen på 128 kapslingsnivåer. Det här är en hård gräns i kompilatorn för både C och C++, i både 32-bitars- och 64-bitars verktygsuppsättningen. Antalet kapslingsnivåer kan ökas med vad som helst som skapar ett omfång eller block. Till exempel kan namnrymder, med hjälp av direktiv, förprocessorexpansioner, mallexpansion, undantagshantering, loopkonstruktioner och else-if-satser öka kapslingsnivån som kompilatorn ser.
För att åtgärda det här felet måste du omstrukturera koden. I vilket fall som helst är djupt kapslad kod svår att förstå och resonera om. Om du omstrukturerar koden så att den har färre kapslingsnivåer kan kodkvaliteten förbättras och underhållet förenklas. Dela upp djupt kapslad kod i funktioner som anropas från den ursprungliga kontexten. Begränsa antalet loopar eller länkade else-if-satser i ett block.