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,我该怎么做?
问题解决一定给分!
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,我该怎么做?
问题解决一定给分!
第二个问题:void指针,必要时,进行强制类型转换,这几乎是C的定式
//我的框架类定义文件
......
public:
void *m_Cur;
...
}
//框架类实现文件
...
i=((Area*)m_Cur)->DotArray.GetSize();//这是公共代码的一行
//这样是可以的,可是在m_Cur指向River时就不行了
//如果写成i=m_Cur->DotArray.GetSize();编译出错
...
怎么解决?
对于第一个问题,我删除了ncb文件,果然解决!不过我想知道为什么,这个ncb是什么文件?