An entity is a value, object, reference,
structured binding,
function, enumerator, type,
class member, bit-field, template, template specialization, namespace, or
pack.
In general,
whenever a name is encountered it is necessary to determine whether that name denotes
one of these entities before continuing to parse the program that contains it.
A name used in more than one translation unit can potentially
refer to the same entity in these translation units depending on the
linkage ([basic.link]) of the name specified in each
translation unit.