Cry about...
MS-Windows Troubleshooting
error C2833: 'operator DEBUG_NEW' is not a recognized
operator or type
Symptom:
When compiling an application (in which a header file has
just been changed) the Microsoft Visual C++ compiler generates the compiler
error:
... \include\crtdbg.h (536) : error C2833: 'operator
DEBUG_NEW' is not a recognized operator or type
followed by in excess of 20 errors.
Cause
Normally the compiler error C2833 means that the specified
symbol is not recognised and this indicates a simple programming error.
This specific error, in ‘crtdbg.h’ involving ‘operator
DEBUG_NEW’, is a compiler bug. This bug has been observed in Visual
Studio 5 and Visual Studio 6 (up to and including service pack 5).
Possible Remedies:
These remedies deal with the compiler bug only.
- Try recompiling. This sometimes cures the problem.
- If recompiling does not cure the problem then ‘clean’
the affected project and rebuild. This has always been observed to cure
the problem.
- Anders Musikka has contributed the following tip: It
is not necessary to do a full clean of the project and rebuild. You
can just delete the xxx.pch file in the debug/release directory
and recompile the failed .cpp file(s).
Whilst it is in no way conclusive, this bug may be related to the project
pre-compiler header settings. I have noticed that it only seems to affect
projects where the precompiled headers is set to ‘automatic use of
precompiled headers’.
|