Chinaunix

标题: map 为何不能如此赋值 [打印本页]

作者: wheniwasyoung    时间: 2011-06-13 00:15
标题: map 为何不能如此赋值
class Info
{
public:

        int type;
        map<string,string > *infolist;
};

        map<string,string> *maptemp;
        Info info;
        info.type=1;


        (*maptemp)["123"]="123";
       (*maptemp)["haha"]="haha";
        info.infolist=maptemp;//&(*maptemp);

编译没有错,但执行时报错异常信息是maptemp没有被初始化
作者: bruceteen    时间: 2011-06-13 08:14
*maptemp 不存在,要写成
map<string,string> *maptemp = new ……
作者: lenky0401    时间: 2011-06-13 08:34
{:3_182:}当然要先申请指针所指向的内存啊 否则  (*maptemp) 指向哪儿啊
作者: int-main    时间: 2011-06-13 10:00
c++里不要像c语言里一样瞎JB乱用指针。
而似乎LZ你的C语言的一些基本问题也没搞清楚,你只定义了指针而没有为对象分配空间。
作者: egmkang    时间: 2011-06-13 13:07
先把书看明白吧....
作者: yao050421103    时间: 2011-06-13 15:57
没有new对象。。。
作者: wheniwasyoung    时间: 2011-06-14 00:07
汗自己一个,真的糊涂了,没看清楚就上来问了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2