#include <windows.h>
int csOpsPrintDataInitialized = 0;
void ObtainOpsPrintDataCritSect()
{
CreateCriticalSectionAsNeccessary();
EnterCriticalSection(&csOpsPrintData);
} // Hp fortify in visual studio 2013 reporting issue: Exception handling.
aber bei der Verwendung von versuchen fangen es immer noch dasselbe Problem melden.Wie verwenden Sie versuchen, in Visual Studio C++ zu fangen?
void ObtainOpsPrintDataCritSect_sol()]
{
try
{
EnterCriticalSection(&csOpsPrintData);
}
catch(char *msg)
{
}
}
Hp Empfehlung stärken: Dieses Problem kann auf zwei Arten vermieden werden:
Wrap ruft Entercriticalsection() in einem try/catch-Block.
Rufen Sie die Funktion InitializeCriticalSectionAndSpinCount() anstelle von InitializeCriticalSection() auf. Dies weist das Ereignis vor, das EnterCriticalSection() verwendet, anstatt EnterCriticalSection() zu erzwingen, um das Ereignis zuzuweisen.
Sind Sie sicher, es heißt 'versuchen/fangen'? Ich würde "__try/__ catch" erwarten. Die beiden sind ähnlich in der Absicht, aber "versuchen" ist C++, "__try" ist Windows und "EnterCriticalSection" ist auch Windows. – MSalters