关于使用CMap和Clist的问题,在线等待,解决给分,up也有分

myelan 2003-12-13 05:12:16

整个数据结构如下:
map:
+-----------------+
|方案名1|方案列表1|
+-----------------+
|方案名2|方案列表2|
+-----------------+
list:
+---------------------------------+
|内容结构1|内容结构2|...|内容结构n|
+---------------------------------+

由于内容结构数不是一定的,因此使用CMap中嵌套CList。代码如下:

typedef struct
//方案内容结构
_ContextItem
{
//内容1
CString tPlayTime;
//内容2
CString szMusicName;
//内容3
CString szMusicPath;
} ContextItem;



class CProjectItem
{
public:
//方案内容列表
CList<ContextItem, ContextItem>* list_context;
};


class CProjectItemControl
{
public:
//方案名字对应方案内容
CTypedPtrMap<CMapStringToOb,CString,CProjectItem*> adfs;
};


但是在插入,修改,删除的时候,会报错。
大虾们帮帮忙,能够帮我看看结构定义是否有问题,最好能够给出插入,修改的代码。
如果我的结构定义不好,请帮忙修改一下。
马上给分,在线等待!!!!
...全文
27 点赞 收藏 13
写回复
13 条回复
zx_sanjin 2003年12月13日
Damachli(马大哈) 说得对!

你没有为指针分配内存就使用了:——)
回复 点赞
myelan 2003年12月13日
顺便问个问题

我现在在调试程序的时候
每次点执行快捷键会谈出对话框
要我编译所有的文件

说什么:one or more file are out of data or do not exist
然后列了一堆obj

什么选项可以调回来,感谢
回复 点赞
Damachli 2003年12月13日
你这是内存溢出的错误,你把CList和CMap里面都用指针,然后,在生成的时候用New生成,然后,在删除的时候用Delete方式,
回复 点赞
myelan 2003年12月13日
我的代码是这样的:
void CFileioDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CProjectItemControl cpic;
CProjectItem cpi,cpi1;
CProjectItem* cpi2;
ContextItem ci1,ci2,ci3,ci4;
ci1.tPlayTime="11";
ci1.szMusicName="12";
ci1.szMusicPath="13";
//cpi.list_context->AddTail(ci1);
cpic.adfs["pname"]=&cpi;
cpic.adfs.Lookup("pname",cpi2);

if (!(*cpi2).list_context->IsEmpty())
AfxMessageBox("ok") ;
else
AfxMessageBox("fail") ;

}

通过编译,运行出错为0xccccccccc内存不能read
怎么办,哪里错了????

如果上面代码的
//cpi.list_context->AddTail(ci1);
加上那么就是debug assertion failed
终止、重试、忽略


求救
回复 点赞
myelan 2003年12月13日
是的,我是参考的msdn的那个程序

折磨人呀
回复 点赞
phoenixli 2003年12月13日
up
回复 点赞
kongyunzhongque 2003年12月13日
CProjectItem 从CObject继承。看看MSDN关于CMap的范例
samples\VC98\mfc\advanced\collect
回复 点赞
myelan 2003年12月13日
有人帮忙么
回复 点赞
myelan 2003年12月13日
楼上的,我就是写了好多插入操作
结果报内存什么的错误
或者直接跳到mfc的文件中报错去了

faint

你只要写一两句话试一试就好了
我的代码就是几句话的
回复 点赞
liu_swallow 2003年12月13日
不会是List和Map的错
贴出插入以及其它操作的代吗来!
回复 点赞
liu_swallow 2003年12月13日
先抢分
回复 点赞
myelan 2003年12月13日
楼上的大侠,应该一帮到底,呵呵
回复 点赞
bluebohe 2003年12月13日
list和map存指针就不容易出错了
回复 点赞
发动态
发帖子
VC/MFC
创建于2007-09-28

7893

社区成员

42.1w+

社区内容

VC/MFC相关问题讨论
社区公告
暂无公告