Created on 2024-09-12.00:00:00 last changed 1 month ago
(From submission #609.)
Consider the following example from 6.6 [basic.link] paragraph 6:
static void f(); // #1 void q() { extern void f(); // #2, internal linkage }
#1 has internal linkage per 6.6 [basic.link] bullet 3.1. However, it is unclear why #2 would also get internal linkage. At issue is the phrasing in 6.6 [basic.link] paragraph 4:
... The name of an entity that belongs to a namespace scope that has not been given internal linkage above and that is the name of ...
How does the name matching for "has been given" work here, considering that functions may be overloaded, i.e. different entities may have the same name? The notion of names (as opposed to entities) having linkage is questionable to start with.
History | |||
---|---|---|---|
Date | User | Action | Args |
2024-09-12 00:00:00 | admin | create |