为什么赋值不包括 extern 关键字和声明变量?

Why does value assignment exclude extern keyword and declare variable?

我明白为什么这不会 link:

extern bool g_WinGame;
...
g_WinGame=true;

但是为什么编译和link?

extern bool g_WinGame=false;
...
g_WinGame=true;

我正在使用 MSVC 2010

[编辑]全部解释HERE

extern bool g_WinGame;

是声明。

extern bool g_WinGame=false;

是一个定义。这里 extern 是多余但合法的。