3

VC++6.0で作成されたソフトウェアをVS2010/ VC++2010に移行しています。デバッグモードでコンパイルされないプロジェクトがあります。私は持っています:

LBSC_AppUserInfoList *          
LBSC_Session::GetUsersInfo( const LBSC_Ticket *pTicket )
{
    TSROut_GetUsersInfo sOut;
    C_Buffer            *pcbRet = NULL;
    TSRIn_TicketPar     InPar;
//...
    ClntFree( (void *)sOut.szBuffer );  // dealoca o que veio do RPC

        return( pList );
} // C2712 - Cannot use __try in functions that require object unwinding

__tryについては何も言及していません

分かりませんか?

4

1 に答える 1

3

ここで最も可能性の高い問題は、ClntFree実際には SEH__tryブロックを使用するために展開するマクロであるということです。マクロとして理にかなっているように見えるものは表面上他になく、ここではマクロが最も可能性の高い原因のようです。

の定義をClntFree見て、それがマクロかどうかを確認しましたか?

于 2012-05-16T17:56:30.277 に答える