A simple question: is variably-modified type a VLA (variable length array) only?
C11, 6.10.8.3 Conditional feature macros, 1 (emphasis added):
__STDC_NO_VLA__
The integer constant1
, intended to indicate that the implementation does not support variable length arrays or variably modified types.
Does it mean that there is a variably-modified type, other than VLA? Any examples?
What is the relationship between "variably modified type" and "variable length array"?
Extra: the definition of "variable length array" depends on the definition of "known constant size":
If the size is an integer constant expression and the element type has a known constant size, the array type is not a variable length array type; otherwise, the array type is a variable length array type.
However, the definition of "known constant size" depends on the definition of "variable length array":
A type has known constant size if the type is not incomplete and is not a variable length array type.
A bit confused.
Related DR: http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_312.htm.