[英]String (C++) in XCode
有没有人知道为什么在XCode中,当你做一些简单的事情
string str;
cout << "input string";
getline(cin, str);
cout << str;
你会得到malloc:***错误对象01x100000240:被释放的指针没有分配错误? 谢谢。
这是xcode中的一个错误。 要修复它,请在程序的最开头粘贴这些行(在任何#include语句之前):
#define _GLIBCXX_FULLY_DYNAMIC_STRING 1
#undef _GLIBCXX_DEBUG
#undef _GLIBCXX_DEBUG_PEDANTIC
这听起来像是您实现中的错误。 你可能遗漏了一些重要的东西,尝试一个完整的测试用例:
#include <iostream>
#include <ostream>
// iostream not required to declare operator<<(ostream&,char const*)
// but ostream is
#include <string>
int main() {
using namespace std;
cout << "Input: ";
string line;
if (!getline(cin, line)) {
clog << "Input error.\n";
return 1;
}
cout << "You entered: " << line << '\n';
return 0;
}
我通过Google在XCode中发现了一些对此错误的引用。 我发现最好的解决方法是
解决方案是双击目标以打开其“信息”窗口,转到“构建”选项卡,然后向下滚动到“GCC 4.2 - 预处理”部分。 在本节中有一个名为“预处理器宏”的设置,默认情况下有两个条目,“_ GLIBCXX_DEBUG = 1”和“_GLIBCXX_DEBUG_PEDANTIC = 1”。 删除这些条目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.