PRB: Errors Generated Overloading Operator New []Last reviewed: August 8, 1997Article ID: Q122305 |
The information in this article applies to:
SYMPTOMSThe September 1994 ANSI C++ Draft specifies that it is possible to overload the new [] operator. However, the Microsoft C/C++ compilers included in the Microsoft products listed above do not support this feature. Microsoft C/C++ version 7.0 and Visual C++ up to version 5.0 will generate the following error message:
error C2092: array element type cannot be functionMicrosoft Visual C++, 32-bit edition, version 5.0 generates two error messages:
error C2039: 'new[]' : is not a member of '`global namespace'' error C2660: 'new[]' : function does not take 1 parameters STATUSThis behavior is by design.
MORE INFORMATIONThe source code below can be used to illustrate how to overload the new [] operator, which will generate the error given above.
Sample Code to Reproduce Behavior
/* Compile options needed: none
*/
#include <new.h>
class example
{
public:
void *operator new [] ( size_t sz, const example& )
{ return( ::operator new [] ( sz )); }
};
void main(void)
{
}
|
Additional query words: C2372 C2039 C2660
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |