想问问c++中全局变量的问题

这是我源程序:

img

当我在头文件中这样写:

img

结果正常:输出为3

当我在头文件中把int a;和a=3拆开:

img

结果却出问题了:

img

所以想问问原因

a=3是表达式,表达式必须写在函数中。
int a = 3;这个是在声明的同时赋值,这样是可以的。