我在Doc.cpp中定义了一个全局变量,
CGraphPara *p_GraphPara;
这是一个类的指针,在CMyView类中调用
CBrush brush(p_GraphPara->GetColor(m_bColor));
m_bColor是CMyView的成员变量,发现p_GraphPara没有使用它的构造函数进行初始化;起构造函数如下:
CGraphPara::CGraphPara()
{
n_ColorNumbAll=500;
n_LayerNumbAll=100;
m_ColorList=new long[n_ColorNumb];
m_LayerList=new LayerStruct[n_LayerNumb];
n_ColorNumb=4;
n_LayerNumb=1; m_ColorList[0]=RGB(0,0,0);
m_ColorList[1]=RGB(255,0,0);
m_ColorList[2]=RGB(0,255,0);
m_ColorList[3]=RGB(0,0,255);
m_LayerList[0].b_Display=1;
strcpy(m_LayerList[0].m_Name,"Layer 0");
}
这应该怎么解决
CGraphPara *p_GraphPara;
这是一个类的指针,在CMyView类中调用
CBrush brush(p_GraphPara->GetColor(m_bColor));
m_bColor是CMyView的成员变量,发现p_GraphPara没有使用它的构造函数进行初始化;起构造函数如下:
CGraphPara::CGraphPara()
{
n_ColorNumbAll=500;
n_LayerNumbAll=100;
m_ColorList=new long[n_ColorNumb];
m_LayerList=new LayerStruct[n_LayerNumb];
n_ColorNumb=4;
n_LayerNumb=1; m_ColorList[0]=RGB(0,0,0);
m_ColorList[1]=RGB(255,0,0);
m_ColorList[2]=RGB(0,255,0);
m_ColorList[3]=RGB(0,0,255);
m_LayerList[0].b_Display=1;
strcpy(m_LayerList[0].m_Name,"Layer 0");
}
这应该怎么解决
只是这样定义一个CGraphPara 对象指针的话,不会调用构造函数的
CGraphPara *p_GraphPara = new CGraphPara();
就会调用构造函数
CGraphPara::CGraphPara()
{
n_ColorNumbAll=500;
n_LayerNumbAll=100;
m_ColorList=new long[n_ColorNumb];
m_LayerList=new LayerStruct[n_LayerNumb];
n_ColorNumb=4;
n_LayerNumb=1; m_ColorList[0]=RGB(0,0,0);
m_ColorList[1]=RGB(255,0,0);
m_ColorList[2]=RGB(0,255,0);
m_ColorList[3]=RGB(0,0,255);
m_LayerList[0].b_Display=1;
strcpy(m_LayerList[0].m_Name,"Layer 0");
}
我的构造函数是这样写的,这要怎么解决