在一个cpp里调取另一个cpp里一个函数内的数组,请教如何做呢

在一个cpp里调取另一个cpp里一个函数内的数组,请问怎么做呢?
在A.cpp有以下代码

vector<CString>wave;  
LRESULT CA::OnReceiveChar(UINT ch, LONG port)
{
UpdateData(TRUE);
number++;
if (number==4)
readbackh=ch;
if (number==5)
readbackl=ch;
if (number==7)
{

switch(readbacksel)
{
case Runspeflag:
m_Erunspe=EditOutput100(readbackh,readbackl);number=0;
 wave.push_back(m_Erunspe);
                  break;

在B.CPP里,需要用到wave, 就是把wave里的数放到SampleDatas里,
   SampleDatas[i]=wave[i];

请教各位技术高手,这个应该怎么实现呢?

------解决思路----------------------
在B代码里面加上 extern vector<CString>wave;  

这样编译器就知道这个变量是在其它的cpp定义的了,不会再分配内存给它,而是在link时到其它的文件模块查找。
------解决思路----------------------
在B.cpp里写上 extern vector<CString>wave;  将wave的引用范围扩展到B.cpp就行了
------解决思路----------------------
引用:
Quote: 引用:

在B代码里面加上 extern vector<CString>wave;  

这样编译器就知道这个变量是在其它的cpp定义的了,不会再分配内存给它,而是在link时到其它的文件模块查找。


编译后怎么报错,这是怎么回事呢?
 1>f:\term\term\wavedlg.cpp(10): error C2143: 语法错误 : 缺少“;”(在“<”的前面)
1>f:\term\term\wavedlg.cpp(10): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\term\term\wavedlg.cpp(161): error C2065: “wave”: 未声明的标识符


vector 和 Cstring的头文件和命名空间引入了没有?