funrer Postado Agosto 3, 2010 Denunciar Share Postado Agosto 3, 2010 (editado) Estou com o seguinte erro na funcao a baixo, quem poderia me dar um help? Obs sou maior noob em c++ mais já arrumei uma pá de erro...error C2712: Cannot use __try in functions that require object unwindingvoid CBuffSystem::CalculateBuffSlots(CCreature *pCreature, CSkillInfo *pSkillInfo) { L2SERVER_SHARED_GUARD1(nCBuffSystem_CalculateBuffSlots); TLS_TRACE_BEGIN; INT32 nMaxBuffSlots = 20; if ( pCreature->IsValidCreature() ) { INT32 nCurrentLevel = pCreature->GetAcquiredSkillLevel(GlobalVars::GVs()->pSubSystems->nBuffSlotSkillID); if ( nMaxBuffSlots+nCurrentLevel > 20 ) { nMaxBuffSlots += nCurrentLevel; } } INT32 nFreeBuffSlots = nMaxBuffSlots; __try { if ( pSkillInfo->debuff == 0 ) { bool bFoundBuff = false; INT32 nBuffPos = 0; for ( int i = 0; i < pCreature->vBuff.size(); i++ ) { CBuffInfo BuffInfo = pCreature->vBuff[i]; if ( BuffInfo.pSkillInfo->debuff == 0 && nFreeBuffSlots > 0 ) { if ( !bFoundBuff ) { nBuffPos = i; bFoundBuff = true; } nFreeBuffSlots -= 1; if ( nFreeBuffSlots == 0 ) { break; } } } if ( nFreeBuffSlots == 0 && bFoundBuff ) { pCreature->vBuff.erase(pCreature->vBuff.begin()+nBuffPos, pCreature->vBuff.begin()+nBuffPos+1); } } } __except(EXCEPTION_EXECUTE_HANDLER) { CLog::Add(CLog::red, "Fatal Error At Function : %s", __FUNCTION__); } TLS_TRACE_END_NO_RETURN; } Editado Agosto 3, 2010 por funrer Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mvrocha Postado Agosto 3, 2010 Denunciar Share Postado Agosto 3, 2010 Esses operadores , funcoes e outras coisas do C/C++ que comecao com _ são extensoes , não fazem parte do padrão - coisas da Microsoft, exemplo _tmain, __try.O padrão para tratamennto de erros em c++ é try / throw / catch essa conbinacao funcionara em qualquer compilador.Procure sobre isso...Att.MVRocha Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
funrer
Estou com o seguinte erro na funcao a baixo, quem poderia me dar um help? Obs sou maior noob em c++ mais já arrumei uma pá de erro...
error C2712: Cannot use __try in functions that require object unwinding
Editado por funrerLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.