リンケージがありません。
ブロック内の識別子の宣言が extern " ストレージ クラスの指定子がない場合識別子はリンケージがないため関数によって異なります。
次の識別子はリンケージがありません :
識別子はオブジェクトまたは関数以外であるとして宣言されました
関数のパラメーターとして宣言された識別子
オブジェクトのブロック スコープ識別子は extern " ストレージ クラスの指定子がない場合宣言される
識別子がリンケージがない場合は同じスコープのレベルを同じ名前で再宣言 (または型指定子) で宣言するとシンボルの再定義エラーが発生します。