根据大家的提示,我最后定位为错误应该是由一个new语句造成的,主要代码罗列如下:
class CGeometry
{
protected:
  char*  m_Geometryname; 
public:
CGeometry()
{
} CGeometry(char* Geometryname)
{  
char* m_Geometryname=Geometryname;
}
virtual ~CGeometry()
{   
}
public:
    virtual void Draw(CDC* pDC)=0;
    virtual void Add(CGeometry* p_geometry){}
    virtual void Remove(CGeometry* p_geometry){}
};class CSdoLineLineString : public CGeometry 
{
public:
    virtual ~CSdoLineLineString ()
{
}
    virtual void Add(CGeometry* );
    virtual void Remove(CGeometry*);
    virtual void Draw (CDC* pDC);    CSdoLineLineString ()
{ }
CSdoLineLineString(char* Geometryname)
:CGeometry(Geometryname)
{
m_CSdoLineLineString=NULL;
}
private:
    vector< CGeometry * >* m_CSdoLineLineString;
};在这里我是想应用设计模式中的composite模式,CGeometry充当component角色,CSdoLineLineString充当composite角色,但是每当要new一个CSdoLineLineString对象时,就会弹出“应用程序错误”的对话框。我的问题是:我的构造函数有问题吗?或者是什么地方应该注意而我没有注意的?本人在线等