BUG: C2059 When Memory Model Used with Conversion FunctionLast reviewed: July 22, 1997Article ID: Q103789 |
7.00 | 1.00 1.50
MS-DOS | WINDOWS
kbtool kbbuglist
The information in this article applies to:
SYMPTOMSThe Microsoft C/C++ Compiler versions 7.0, 8.0, and 8.0c incorrectly generates errors when a memory model specifier is used in the return type of a user-defined conversion function. For example, the compiler generates the following errors with the sample code provided below:
file.cpp(8) : error C2059: syntax error : '*' file.cpp(8) : error C2238: unexpected token[s] preceding ';' RESOLUTIONCreate a typedef for the conversion type and use the typedef in the conversion function definition. For example:
typedef const char __far* NEWTYPE; operator NEWTYPE () const; STATUSMicrosoft has confirmed this to be a bug in the products listed above. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
MORE INFORMATION
Sample Code
// Compile options needed: /cclass ClassName { public: operator const char __far* () const;};
|
Additional reference words: 1.00 1.50 7.00 8.00 8.00c
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |