Xcode STL C Debug编译错误
发布时间:2020-12-14 18:10:22 所属栏目:百科 来源:网络整理
导读:我有一些文件编写代码按预期工作,但在调试模式下输出错误,在Release中没有输出错误. 码: #include iostream#include string#include fstream#include sstreamusing namespace std;int main (int argc,char * const argv[]) { string cppfilename; std::cout
我有一些文件编写代码按预期工作,但在调试模式下输出错误,在Release中没有输出错误.
码: #include <iostream> #include <string> #include <fstream> #include <sstream> using namespace std; int main (int argc,char * const argv[]) { string cppfilename; std::cout << "Please enter the filename to create: "; while ( cppfilename == "" ) { getline(cin,cppfilename); // error occurs here } cppfilename += ".txt"; ofstream fileout; fileout.open( cppfilename.c_str() ); fileout << "Writing this to a file.n"; fileout.close(); return 0; } 调试输出: Please enter the filename to create: Running… myfile FileIO(5403) malloc: *** error for object 0xb3e8: pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug Created: myfile.txt 发布输出: FileIO implementation C++ Please enter the filename to create: Running… myfile Created: myfile.txt 除了没有检查文件描述符是否打开(为简单起见)这个代码有什么问题? 更新:我将代码分解为以下内容,但仍然存在错误: string cppfilename; getline(cin,cppfilename); // error here 解决方法
这看起来是
_GLIBCXX_DEBUG being broken with gcc 4.2 on Mac OS X的另一个案例.
您最好的选择是删除_GLIBCXX_DEBUG或切换到gcc 4.0. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |