用MFC制作通讯录时碰到的问题:
以下代码是点击“显示”按钮时执行的往list中添条目的代码:void CContactView::OnShow()
{
extern AddSingleInfo *head;
AddSingleInfo *w=head;
while(w->next!=NULL)
{
m_listshow.AddString(w->name);
w=w->next;
m_listshow.UpdateData(); }
}AddSingleInfo类定义如下:class AddSingleInfo
{
public:
AddSingleInfo();
virtual ~AddSingleInfo();
CString name;
CString street;
CString city;
CString state;
UINT eip;
AddSingleInfo *pre;
AddSingleInfo *next;
};运行并添加了一个信息后再点“显示”,列表框中没有显示,为什么????
以下代码是点击“显示”按钮时执行的往list中添条目的代码:void CContactView::OnShow()
{
extern AddSingleInfo *head;
AddSingleInfo *w=head;
while(w->next!=NULL)
{
m_listshow.AddString(w->name);
w=w->next;
m_listshow.UpdateData(); }
}AddSingleInfo类定义如下:class AddSingleInfo
{
public:
AddSingleInfo();
virtual ~AddSingleInfo();
CString name;
CString street;
CString city;
CString state;
UINT eip;
AddSingleInfo *pre;
AddSingleInfo *next;
};运行并添加了一个信息后再点“显示”,列表框中没有显示,为什么????
不能判断(w->next!=NULL)
因为w->next肯定是NULL的,没有执行循环。
把条件改为
while(w!=NULL)
{
m_listshow.AddString(w->name);
w=w->next;
m_listshow.UpdateData(); }
}
你在循环里设个断点看有没有进去循环,