静的変数を事前に宣言してから使用する必要がある場合があります。しかし、この宣言の変数名が間違っている可能性があり、コンパイラーはそれを検出できません、おっと!
例:
/* 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」は異なります。最初に間違った変数を使用しています。事前宣言ステートメントで何も定義されていない場合、コンパイラーは誤りを検出します。
では、静的変数を宣言するが、それを定義しない方法は?コンパイラが間違った名前を検出できるようにする新しい宣言に事前宣言を変更するにはどうすればよいですか?