如何从CPtrList中取出自己存的结构,如:
struct My
{
   CString Name;
   int Age;
   int Phone;
   CString Addr;}代码如下:
My* my = new My ;
my->Name = "LiHui"; my->Age = 19; my->Phone = 1234567; my->Addr = "china";
CPtrList oPtrList;
oPtrList.AddTail(my);如后 我这样取,为什么不对?
My* m_my = (My*) oPtrList.GetHead();
if (m_my->Name == "LiHui")//错误就在这里了
{.....}请高手解答

解决方案 »

  1.   

    代码写法不符合规范。
    如果oPtrList是成员变量的话,按照你的代码我运行了,没有任何问题。
      

  2.   

    struct My
    {
       CString Name;
       int Age;
       int Phone;
       CString Addr;};
    CPtrList oPtrList;
    void CAboutDlg::OnLButtonDown(UINT nFlags, CPoint point) 
    {My* my = new My ;
    my->Name = "LiHui"; my->Age = 19; my->Phone = 1234567; my->Addr = "china";
    oPtrList.AddTail(my);}void CAboutDlg::OnButton1() 
    {
    My* m_my = (My*) oPtrList.GetHead();
    if (m_my->Name == "LiHui")MessageBox("ddd");

    }
    这是我的实验内容,一切正常啊你最好用CTypedPtrList模板类,加强类型检查