Linkage in Names with Class Scope

The following linkage rules apply to names with file scope:

Static class members have external linkage.

Class member functions have external linkage.

Functions declared as friend functions must have external linkage. Declaring a static function as a friend is an error (Microsoft specific).

Enumerators and typedef names do not have external linkage.