FIX: ClassWizard Floating-Point Parsing Errors (107465)
The information in this article applies to:
- Microsoft Visual C++ 1.0
- Microsoft Visual C++ 1.5
- Microsoft Visual C++ 2.0
This article was previously published under Q107465 SYMPTOMS
ClassWizard cannot parse floating-point numbers written in scientific
floating-point notation, such as 1.e+006. If a number formatted in this
manner is in the lines of code that ClassWizard must parse, the following
error is generated:
Parsing error: Expected ")".
Input Line: "DDV_MinMaxFloat(pDX, m_Var, 0., 1.e+006);"
The follow sequence of steps causes the code generator of ClassWizard to
generate floating-point numbers in scientific notation:
- Add an edit control to a dialog box in App Studio.
- Add a float or double member variable to class of the previously added
edit control.
- In the range validation fields, add a floating-point number that fits
one of the following criteria, for member variable of type float:
- It has seven digits or more to the left of the decimal point.
- It has one or more zeros to the right of the decimal point, between
the decimal point and the first nonzero number.
Or the range validation fields contain a floating-pointer number that
fits one of the following criteria, for a member variable of type
double:
- It has 16 digits or more to the left of the decimal point.
- It has one or more zeros to the right of the decimal point, between
the decimal point and the first nonzero number.
RESOLUTION
The only work around is to modify the code by hand and convert it back to
the original notation. Be aware, however, that if you edit the variables
for that class again, the numbers will be converted back to scientific
notation.
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products
listed at the beginning of this article. This bug has been corrected in
Visual C++ 2.1.
Modification Type: | Major | Last Reviewed: | 11/18/2003 |
---|
Keywords: | kbbug kbfix kbwizard KB107465 |
---|
|