想请问各位大大一个问题,困扰了我很久,我在global.h定义了如下两个结构:
//global.h
struct sctSubField{
CString strNameEn;
CString strNameCn;
};
struct sctField{
CString strTable;
CString strUpLinkId;
sctSubField *subField; //指向subfield的指针
};
在aaa.cpp,这两个结构都被动态的定义成数组,赋值、并且sctField有一个指向sctSubField的指针,现在我想在bbb.cpp中引用sctField这个数组。请问我该怎么做呢?分不够再在其它帖子补!

解决方案 »

  1.   

    extern sctField name[123123];
      

  2.   

    to akirya(坏[其实偶不是什么所谓的坏人]):这种方法我在aaa.cpp试过了,不行,返回error C2143: syntax error : missing ';' before '*'
      

  3.   

    在global.h中声明extern  sctField  name;在aaa.cpp中定义sctField  name;
      

  4.   

    to Mackz(在相互):返回一大堆错误,第一个是:'name' : illegal storage class
      

  5.   

    extern    sctField    name;代码要放到struct  sctField以后,aaa.cpp要包含global.h,这个还要说吗?
      

  6.   

    干脆,我把原来说的条件再简化一点,让大家可以看的更明白:现在我有一个头文件global.h,内容如下:
    struct sctField{
    CString strTable;
    CString strUpLinkId;
    };
    我想在aaa.cpp里用到这个结构,给它赋值(假设是一个个数为20的数组),以便于在bbb.cpp中可以访问这个结构数组,请问该怎样做呢,能否详细点?谢了!
      

  7.   

    我已经解决部分问题,即在global.h的类定义之前写入如下代码:
    struct sctField{
    CString strTable;
    CString strUpLinkId;
    };
    extern sctField myField[20];然后在aaa.cpp中include<global.h>,但编译时显示error LNK2001: unresolved external symbol "struct sctField * myField" (?myField@@3PAUsctField@@A),这是为什么呢?