先说句题外话

vs反应有时候有点慢,改过的地方等几秒才会显示正确

另外有时候正确的地方会报错,重启吧

回到正题

“引发了异常: 写入访问权限冲突。

_Left 是 0xCDCDCDCD。

如有适用于此异常的处理程序,该程序便可安全地继续运行。”

原因是在初始化栈时使用了malloc,而栈的自定义对象中有string

malloc只是分配内存,并不进行初始化,不调用类的构造函数,所以当以下这两处调用发生的时候,都会出现错误
getline(cin, p->data); 还有
     p = (DNode*)malloc(sizeof(DNode));
                        p->data = ss;
都是因为string对象的构造函数没有被调用,没有构建string对象。所以,getline函数无法调用string对象进行赋值,同样,date也无法完成赋值。
同理,你修改后的程序,因为使用的是int类型替代string类型,所以没有上面说的情况发生,所以可以运行。

解决办法,用new代替malloc,
  p = new(DNode);
new会调用相应类的构造函数完成初始化。

注意这样做free栈时要用delete[]

最新文章

  1. ABP(现代ASP.NET样板开发框架)系列之8、ABP日志管理
  2. maven上传jar到nexus本地仓库
  3. HttpUrlConnection发送url请求(后台springmvc)
  4. 服务器ssh登录提示“Permission denied, please try
  5. ServiceStack.OrmLite中的一些"陷阱"(3)
  6. VS2010使用TTS
  7. VMware打卡虚拟机提示“此虚拟机可能已被复制或移动”
  8. [codeforces 528]A. Glass Carving
  9. Mongodb 3.0 创建用户
  10. Struts2 Spring Hibernate Ajax Java总结(实时更新)
  11. 手机定位原理 - GPS/GLONASS/北斗 + WIFI + 基站
  12. spring定时器任务多任务串行执行问题排查
  13. [转]不用Cookie的“Cookie”技术
  14. Self referencing loop detected with type
  15. sso单点登录,单点登录原理图,单点登录图解,单点登录
  16. POJ 1849 Two(树的直径--树形DP)(好题)
  17. 剑指offer--矩阵中的路径
  18. Python 入门基础14 --time、os、random、json、pickle 常用模块1
  19. Mysql索引机制(B+Tree)
  20. springboot实现自定义的错误页面展示

热门文章

  1. C++:标准I/O流
  2. floating point
  3. ES6在工作中会用到的核心知识点讲解
  4. 十九、更改LCD显示屏
  5. Numpy的一些学习记录
  6. Java层面上下文切换
  7. CSS Color Adjustment Module Level 1
  8. jQuery.qrcode二维码插件生成网页二维码
  9. java 生成xml
  10. sqoop使用以及常见问题