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. |