void CMy22222Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CString *p=dispose();
TRACE(p[0]);}
 
CString* CMy22222Dlg::dispose()
{
CString data[]={"1","2"};
CString *p=data;
return p;
}TRACE(p[0]);怎么输出的值为哈哈哈哈哈
读取的是乱码把,是不是CString data[]为局部变量,函数退出了,内容清除,
应该怎么写才能解决这个问题呀?

解决方案 »

  1.   

    static CString data[]={"1","2"};
      

  2.   

    void CMy22222Dlg::dispose(CString data)
    {
      data = "12";
    }
      

  3.   

    void CMy22222Dlg::OnBnClickedButton1()
    {
    // TODO: 在此添加控件通知处理程序代码
    CString ptest;
    dispose(ptest);
    TRACE(ptest);}
     
    void CMy22222Dlg::dispose(CString &ptest)
    {
    CString data[]={"1","2"};
    p=data;
    //return p;
    }
      

  4.   

    你说的没错,NEW数据即可CString *p= new Cstring data[2];data[0] ="1";
    data[1] ="2";CString *p=data;return p ;