有时我们需要预先声明一个静态变量然后使用它。但是这个声明的变量名可能是错误的,编译器检测不到,哎呀!
例子:
/* lots of codes */
static some_type some_name; /* pre-declaration */
/* but it may define "some_name" */
/* use some_name */
/* lots of codes */
static some_type someName = initialization; /* definition */
/* use someName */
/* lots of codes */
“some_name”和“someName”不同,我们在开始时使用了错误的变量。如果预声明语句没有定义任何东西,编译器会检测到错误。
那么,如何声明一个静态变量而不定义它呢?如何将预声明更改为使编译器可以检测到错误名称的新声明?