为何main()里定义的const对象不能为其他文件所用
//a.h#ifndef _A_H_#define _A_H_#include "b.h"extern const int ArrayCount;typedef struct{ int *a; int data; }DataType;extern void Init( DataType *G );//a.cpp#include "a.h"void Init( DataType *G ){ G->data = 0; G->a = new int [ArrayCount]; for ( int i = 0; i < ArrayCount; i++ ) { G->a[i] = i; }}//b.h#ifndef _B_H_#define _B_H_extern const int ArrayCount;extern void Function( int &val2 );#endif//b.cpp#include "b.h"void Function( int &val2 ){ int x = 16; x *= x; val2 = x;}//main.cpp#include <cstdio>#include "a.h"#include "b.h"int main( void ){ int nVal = 0; Function( nVal ); const int ArrayCount = 10; DataType x; Init(&x); for ( int i = 0; i < ArrayCount; i++ ) { printf( "%d ", x.a[i] ); } printf("\n"); return 1; }