VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 69|回复: 2

[交流] 关于对象赋值,有个问题请教各位驿友?

[复制链接]
91_avatar_middle
最佳答案
0 
在线会员 发表于 2020-3-21 10:11:24 | 显示全部楼层 |阅读模式
定义一个类,头文件如下所示
#include <string>

class EveryDay
{
public:
        int year;
        int month;
        const char *str_date;

public:
        EveryDay(int year, int month, char *str_date);
};


-----------------------------------
类的源文件:
#include "everyday.h"

EveryDay::EveryDay(int year, int month, char *str_date)
{
        this->year = year;
        this->month = month;
        this->str_date = str_date;
}

------------------------------------
最后在main函数里调用
        list<EveryDay> lDlist;

        char pTmpY[5];
        char pTmpM[3];
        char *pTmpYMD = NULL;
        for (int j = 0; j < 5; j++)
        {
                sprintf(pTmpY, "%d", 2019);
                sprintf(pTmpM, "%d", 12);
                strcat(pTmpY, "-");
                strcat(pTmpY, pTmpM);
                pTmpYMD = pTmpY;
                //cout<<pTmpYMD<<endl;
                EveryDay eDay(2019, 12, pTmpYMD);
                //cout<<eDay.str_date<<endl;
                lDlist.push_front(eDay);
                //清空字符串数
                memset(pTmpY, '\0', sizeof(pTmpY));
                memset(pTmpM, '\0', sizeof(pTmpM));
                pTmpYMD = NULL;
        }
        cout<<lDlist.front().year<<endl;
        cout<<lDlist.front().month<<endl;
        cout<<lDlist.front().str_date<<endl;

运行结果如下:  无法正常输出str_date的值,是那里出错了呢?
关于对象赋值,有个问题请教各位驿友?





上一篇:五子棋程序,萌新制作
下一篇:C语言驱动修改移除句柄 之前移除全部句柄 修改成 移除一条线程句柄
82_avatar_middle
最佳答案
14 
在线会员 发表于 2020-3-21 10:44:12 | 显示全部楼层
EveryDay 类中的 str_date 是个指针,没有指向一块实际的内存位置。也没有 new,所以肯定有问题。
另外这句:strcat(pTmpY, "-"); 在进行操作之前 pTmpY 也没有指向任何可用的内存空间,所以直接操作也会有问题
85_avatar_middle
最佳答案
2 
在线会员 发表于 2020-3-21 14:30:39 | 显示全部楼层
pTmpYMD = NULL 删掉看看
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-3-30 18:45

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表