IntList.RemoveAt(pos)
else if(pos == NULL)
IntList.RemoveTail()
这几句写的有问题
当iTemp为50时候,pos指向的是10的位置,你把这个值给删除了,这时候你在使用这个pos其实就存在问题了,就是一个野指针
把 类里的迭代器声明去掉,在循环的位置在直接初始化并使用。迭代器的申明也不对。
迭代器也是个对象,所以跟普通变量的申明一样的。
list<Student>::iterator its = list.begin()
这样就可以了。
放在某个DLG的头文件里#pragma once
#include "afxcmn.h"
// MainDLG 对话框
class MainDLG : public CDialog
{
DECLARE_DYNAMIC(MainDLG)
public:
struct goods{
CString m_NO
int nSstyle
float fNumber
float fPrice
float fTotal
}
struct User{
CString m_Name
CString m_Tel
CList <goods ,goods>goodsList
}
CList <User,User>userList
public:
MainDLG(CWnd* pParent = NULL) // 标准构造函数
virtual ~MainDLG()
// 对话框数据
enum { IDD = IDD_DIALOG1 }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)