[basic.link]/6(我emphasiss): 块范围声明的函数的名称和块范围extern声明声明的变量名具有联动。 ... static void f();
static int i = 0;
void g() {
extern void f(); // internal linkage
int i; // #2 i has no linkage
{
前提 根据一个定义规则,如在C++14 Standard所述,我可以在只要每个转换单元一个同一个类的定义因为我遵循3.2.6中的规则。这意味着允许下面的程序是合法的: //a_1.cpp
class A { //definition of A
int a; //definition of A::a
static int b; //declaratio