PRB: C2061 Error Generated When DEBUG_NEW Used in Application (95198)
The information in this article applies to:
- The Microsoft Foundation Classes (MFC), when used with:
- Microsoft C/C++ for MS-DOS 7.0
- Microsoft Visual C++ for Windows, 16-bit edition 1.0
- Microsoft Visual C++ for Windows, 16-bit edition 1.5
- Microsoft Visual C++ for Windows, 16-bit edition 1.51
- Microsoft Visual C++ for Windows, 16-bit edition 1.52
- Microsoft Visual C++, 32-bit Editions 1.0
- Microsoft Visual C++, 32-bit Editions 2.0
- Microsoft Visual C++, 32-bit Editions 2.1
This article was previously published under Q95198 SYMPTOMS
An attempt to compile an application that changes the definition of
the "new" operator to DEBUG_NEW fails and the compiler generates the
following message:
error C2061: syntax error : identifier 'p'
CAUSE
The statement "#define new DEBUG_NEW" precedes an IMPLEMENT_SERIAL or an
IMPLEMENT_DYNACREATE macro call.
RESOLUTION
Modify the source code to place the DEBUG_NEW definition after all
statements that call the IMPLEMENT_SERIAL or IMPLEMENT_DYNCREATE
macros. For more information, see Chapter 15 of the Microsoft Visual
C++ "Class Library User's Guide."
MORE INFORMATION
This behavior has changed for Visual C++ version 4.0. However, if you build
an application that makes use of DEBUG_NEW with Visual C++ 4.0, and then
attempt to build that application in Visual C++ version 2.x, you will need
to move the #define DEBUG_NEW as discussed above.
Modification Type: | Major | Last Reviewed: | 12/8/2003 |
---|
Keywords: | kbBug kbDebug kbprb KB95198 |
---|
|