Optionally limited to a specific source code position. A type is complete if it is not undefined, not void, not an fixed length array without dimension, and not a class or enumeration that is only declared but not defined.