现象:
软件退出时报munmap_chunk(): invalid pointer…
产生原因:
单例了窗口采用的静态变量写法, 并且把单例的窗口添加到了另一个窗口中。软件退出时,父窗口析构了单例的窗口(Qt的对象管理机制),单例中的静态变量也析构了窗口,对窗口的两次析构导致该问题。
解决方法:
- 单例时,采用new 窗口的方式,把释放权利给调用者,采用Qt的对象管理机制。参考链接
写在最后
产生munmap_chunk(): invalid pointer: 0x0000000000d6fec0问题的原因,一般都是访问了无效指针,可以从指针是否成功初始化和是否多次析构入手解决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)