Previous Table of Contents Next


3.9.4 Value Forward Declaration


   (14) <value_forward_dcl> ::= [ “abstract? ] “valuetype? <identifier>

   A forward declaration declares the name of a value type without defining it. This permits the definition of value types that refer to each other. The syntax consists simply of the keyword valuetype followed by an <identifier> that names the value type.

   Multiple forward declarations of the same value type name are legal.

   Boxed value types cannot be forward declared; such a forward declaration would refer to a normal value type.

   It is illegal to inherit from a forward-declared value type whose definition has not yet been seen.