1、我在程序里使用了自定义的结构体,其成员又包含了模板类:
struct CMyStruct
{
  CString Caption;
  CArray(CPoint,CPoint) DotArray;
};
struct Area
{
  CString Caption;
  CArray(CPoint,CPoint) DotArray;
  CArray(CMyStruct,CMyStruct) River;
  Area *SubArea;
};
然后我在程序中声明和使用该结构体变量:
Area m_area;
当我写m_area.时应该像我使用MFC类时那样出现一个选择框,列出所有成员和函数,却没有出现。虽然我一样可以编程和编译,但总感觉很别扭,谁能告诉我选择框为什么不出现,能否把它搞出来?
2、使用上述结构体变量时我想声明一个指针,既能指向Area,又能指向River,我该怎么做?
问题解决一定给分!

解决方案 »

  1.   

    第二个问题你可用一个 void 型指针vc 的自动提示确实有问题,不知道有没有办法解决
      

  2.   

    第一个问题, 你关闭程序后删除工程文件目录中的那个XXX.ncb 文件重新打开项目一般可一解决
      

  3.   

    我用了void指针,引用DotArray时出错,报没有相应类。苦恼ing!!
      

  4.   

    void CArray<CPoint,CPoint> * pDotArray;
      

  5.   

    第一个问题:推荐你使用 visual assistant
    第二个问题:void指针,必要时,进行强制类型转换,这几乎是C的定式
      

  6.   

    楼上诸位,我的目的是想声明一个指针,可以指向Area或River,这样我在画图时就用一段代码就行了,可是我用了void指针,还是不行,我是这样做的,各位看一下对不对。
    //我的框架类定义文件
    ......
    public:
        void *m_Cur;
    ...
    }
    //框架类实现文件
    ...
    i=((Area*)m_Cur)->DotArray.GetSize();//这是公共代码的一行
    //这样是可以的,可是在m_Cur指向River时就不行了
    //如果写成i=m_Cur->DotArray.GetSize();编译出错
    ...
    怎么解决?
    对于第一个问题,我删除了ncb文件,果然解决!不过我想知道为什么,这个ncb是什么文件?