Compiler issue Microsoft Visual C ++ 7.01 - BOOLEAN_ELEMENT (small, "small")

Jean ANDRE <[email protected]> Fri, 28 Jan 2005 21:12:28 +0500
Newsgroups gmane.comp.gcc.cgicc.bugs
Message-ID <[email protected]>
Hello,

I got a compile error in your macro under Microsoft Visual C++ 7.1 under 
Windows 2000.

The problem is that the small is a reserved keyword for Microsoft 
Interface Definition Language (MIDL) ????

If I comment the code or if I renamed small into whatever it is ok.

So my question is how to resolve properly this issue to still using the 
small element ?

===============ERROR REPOR===================
d:\programs\gnu\cgicc-3.2.3\cgicc\HTMLClasses.h(185) : error C2065: 
'smallTag' : undeclared identifier
d:\programs\gnu\cgicc-3.2.3\cgicc\HTMLClasses.h(185) : error C2955: 
'cgicc::HTMLBooleanElement' : use of class template requires template 
argument list
d:\programs\gnu\cgicc-3.2.3\cgicc\HTMLBooleanElement.h(184) : see 
declaration of 'cgicc::HTMLBooleanElement'
d:\programs\gnu\cgicc-3.2.3\cgicc\HTMLClasses.h(185) : error C2628: 
'cgicc::HTMLBooleanElement' followed by 'char' is illegal (did you 
forget a ';'?)
d:\programs\gnu\cgicc-3.2.3\cgicc\HTMLClasses.h(185) : warning C4091: 
'typedef ' : ignored on left of 'cgicc::HTMLBooleanElement' when no 
variable is declared



// fonts - preferably use stylesheets

BOOLEAN_ELEMENT (tt, "tt"); // monospaced text
BOOLEAN_ELEMENT (i, "i"); // italic text style

BOOLEAN_ELEMENT (b, "b"); // bold text style

BOOLEAN_ELEMENT (big, "big"); // large font


--->> BOOLEAN_ELEMENT (small, "small"); // small font

// frames - not part of the strict DTD

BOOLEAN_ELEMENT (frameset, "frameset"); // frame layout


==============================================================================================
=== REASON
==============================================================================================
Platform SDK: Microsoft Interface Definition Language (MIDL)
small

The small keyword designates an 8-bit integer number.


small identifier-name;
Parameters
identifier-name
Specifies a valid MIDL identifier. Valid MIDL identifiers consist of up 
to 31 alphanumeric and/or underscore characters and must start with an 
alphabetic or underscore character.
Return Values
This has no return values.
Remarks
The small keyword can be preceded by either the keyword signed or the 
keyword unsigned. The int keyword is optional and can be omitted. To the 
MIDL compiler, a small integer is signed by default and is synonymous 
with signed small int.

The small integer type is one of the base types of the IDL language. The 
small integer type can appear as a type specifier in const declarations, 
typedef declarations, general declarations, and function declarators (as 
a function return–type specifier and as a parameter-type specifier). For 
the context in which type specifiers appear, see Interface Definition 
(IDL) File.

The sign of the small type can be modified by the MIDL compiler switch 
/char. To avoid confusion, specify the sign of the integer type with the 
keywords signed and unsigned.


See Also
/char, const, Interface Definition (IDL) File, int, long, short, signed, 
unsigned, typedef


--------------------------------------------------------------------------------

Last updated: October 2004 | What did you think of this topic? | Order a 
Platform SDK CD
© 2004 Microsoft Corporation. All rights reserved. Terms of use.



Regards,

Jean A. CANADA