Topic: Question about constructing indeterminant values.
Author: rfg@netcom.com (Ronald F. Guilmette)
Date: Wed, 8 Dec 1993 04:13:15 GMT Raw View
The minutes from the recent San Jose meeting of the C++ standardization
committee contain the following curious entry:
> 39. Motion (that the value of T() should be defined for every type T) by
> Eckel/Hartinger:
>
> Move we adopt the change to the Working Paper recommended in N0364 =
> 93-0157.
>
> Motion passed X3J16: 51 yes, 0 no.
> Motion passed WG21: 8 yes, 0 no, 0 abstain.
Would someone who was there for this vote please clarify this for me?
Did the committee really intend that the following code should be considered
perfectly valid???
struct abstract { void pure () = 0; };
typedef void incomplete_type_1;
typedef int incomplete_type_2[];
typedef struct incomplete incomplete_type_3;
typedef void (function_type) ();
typedef struct abstract abstract_type;
void foobar ()
{
incomplete_type_1 ();
incomplete_type_2 ();
incomplete_type_3 ();
function_type ();
abstract_type ();
}
Do users now have good reason to complain to their vendors if the compilers
they have now refuse to accept the above code???
--
-- Ronald F. Guilmette, Sunnyvale, California -------------------------------
------ domain address: rfg@netcom.com ---------------------------------------
------ uucp address: ...!uunet!netcom.com!rfg -------------------------------