首先定义一个结构体
struct sample  
{
    char c;
    float *pf;
    struct sample *next;
} ;
然后在一个类中定义
public:
carray <sample,sample&> m_array;请问为何我在其它类中对m_array的next进行赋值后,再取用其值,结果是不对的呢?
例如赋值next=0x234545;再取用的时候.next=0x0000;不知为何,请解释一下,谢谢

解决方案 »

  1.   

    先看你的next是否正确赋值了,是否传递过去了,然后你取的时候,数据是否有效
      

  2.   

    在其它类中对m_array的next进行赋值,那你现在查看的这个和其他类中的哪个是同一个对象吗?
      

  3.   

    sample a ;
    a.next=new sample;
    a.next->c='C';
    m_array.Add(a);
    char dd=m_array[0].next->c;
    你再看看,肯定没问题.
    最好使用动态分配的内存.
      

  4.   

    已解决,谢谢。
    CArray <NodeInfo,NodeInfo&> m_Node;//节点
    定义后,m_Node[0],在未赋值的情况下就想获得其地址,肯定出错⊙﹏⊙b。
    m_CurrentNode.m_pFatherNode=(pDoc->m_Node.GetData());
    因此出错,先给其赋个初值就好了。