C++多文件操作里的结构体数组问题

c++一个类文件a.h里定义了一个结构体数组,他的派生类b.cpp文件里包含了#include"a.h",编译器报该结构体数组重复定义怎么解决

声明放在头文件,定义写在cpp文件里,比如

// a.h
extern int a[100]; // 声明
// a.cpp
int a[100]; // 定义

加判断,包含了就不再包含