PRB: Error CXX0017 or CXX0034 for typedefLast reviewed: July 25, 1997Article ID: Q119501 |
The information in this article applies to:
SYMPTOMSDeclare a structure type and typedef a pointer to the structure type as follows:
struct MYSTRUCT { int x; int y; }; typedef struct MYSTRUCT* PMYSTRUCT;MYSTRUCT is a structure type and PMYSTRUCT is a typedef for a pointer to MYSTRUCT. Declare and initialize the following variables:
struct MYSTRUCT var1 = {0, 0}; PMYSTRUCT var2 = &var1;Putting a watch on "(PMYSTRUCT) &var2" produces the following error:
Visual C++ 1.0 and 4.0
CXX0017: Error: symbol 'PMYSTRUCT' not found Visual C++ 2.x
CXX0034: Error: types incompatable with operatorHowever, putting a watch on "(MYSTRUCT *) &var2" is successful.
CAUSEThe typedef declares a new name for a type, but it does not define a new type. The typecast attempted in the debugger requires the name of a defined type.
RESOLUTIONUse the defined type in the typecast, rather than using the name declared with the typedef. Keywords : WBDebug Version : 1.0 2.0 2.1 4.0 5.0 Platform : NT WINDOWS Issue type : kbprb |
================================================================================
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |