当前位置:  开发笔记 > 编程语言 > 正文

使用std :: string时出现bad_alloc错误

如何解决《使用std::string时出现bad_alloc错误》经验,为你挑选了1个好方法。

我正在开发一个依赖于我提供文件路径的项目(例如.C:\Path.pth).现在,我昨天打电话给我std::string:

std::string path(`"C:\\Path.pth`");

但现在它不起作用.它扔了一个bad_alloc.似乎' \'字符是问题.我甚至尝试使用\x5C它的ascii值,但结果相同.

现在,我的问题是,是否有可能我搞砸了一些#define,一些编译器选项或其他可能导致这种情况的"非代码"?我正在使用VS 2005.

任何帮助将非常感激


PierreBdR

..听起来很可能.或者至少,它必须:P

由于没有人提到某种/ SetStringCharSize:2bit-compiler选项,我认为可以安全地假设我的代码必须搞砸某些东西,并且它不仅仅是一个愚蠢的编译器选项(或类似的)错误. .



1> PierreBdR..:

正如您的错误所示,问题是由于内存分配(即bad_alloc异常).

所以要么你没有更多的内存(不太可能),要么你之前有某个缓冲区溢出(很可能在我看来)或其他一些内存问题,如双重免费.

简而言之,你做了一些会弄乱内存管理布局的东西(即所分配的块之间的所有这些信息).检查此次通话会发生什么.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有