Linkage of function declared as `extern` in block scope according to the C++17 standard draft
问题 From the C++17 Standard Draft § 3.5.6 : The name of a function declared in block scope and the name of a variable declared by a block scope extern declaration have linkage. If there is a visible declaration of an entity with linkage having the same name and type , ignoring entities declared outside the innermost enclosing namespace scope, the block scope declaration declares that same entity and receives the linkage of the previous declaration. If there is more than one such matching entity,