J
John Taylor
Hello,
I learned there are object types (describe objects) and function types
(describe functions). Truly there are also incomplete types, but I can't
understood what they really are. I read void is an incomplete type. The
(C99) standard says incomplete types describes objects, too, but "lack
information needed to determine their sizes". How can you have an object
without knowing its size? If you have an object, you know its size, just
by counting the bits required by any of its values. You can answer: "The
void type comprises an empty set of values": if you have no values, you
cannot count the number of bits required by any value. The point is that
in my understanding void should not describe objects at all. An object
can have a size of zero if the only value it can assume is the empty
string of bits. But there still is a value in this case. Mathematically,
the void type seems to be different from the {{}} set. It seems to be
the empty set ({}). Also, can you name some other incomplete type
different from void, please?
Thanks.
I learned there are object types (describe objects) and function types
(describe functions). Truly there are also incomplete types, but I can't
understood what they really are. I read void is an incomplete type. The
(C99) standard says incomplete types describes objects, too, but "lack
information needed to determine their sizes". How can you have an object
without knowing its size? If you have an object, you know its size, just
by counting the bits required by any of its values. You can answer: "The
void type comprises an empty set of values": if you have no values, you
cannot count the number of bits required by any value. The point is that
in my understanding void should not describe objects at all. An object
can have a size of zero if the only value it can assume is the empty
string of bits. But there still is a value in this case. Mathematically,
the void type seems to be different from the {{}} set. It seems to be
the empty set ({}). Also, can you name some other incomplete type
different from void, please?
Thanks.