dan*_*dan 10 c++ malloc macos xcode getline
我正在尝试使用std:getline()但遇到一个奇怪的运行时错误:
malloc:*对象0x10000a720的错误:未释放指针被释放*在malloc_error_break中设置断点以进行调试
这是产生此错误的代码:
//main.cpp
#include <iostream>
#include <sstream>
int main (int argc, char * const argv[])
{
std::istringstream my_str("demo string with spaces");
std::string word;
while (std::getline(my_str, word, ' ')) {
std::cout << word << std::endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在每个单词之前我都会收到此错误.从评论中看起来似乎是OSX/XCode特定的错误.有什么提示吗?
更新: 错误仅在调试模式下打印.如果我在发布模式下构建此代码,一切都很好.
更新2: 可以在此处找到有关该问题的更多信息.
解:
组
_GLIBCXX_FULLY_DYNAMIC_STRING = 1
在目标信息构建选项卡中的预处理器宏中.
系统信息:
OSX 10.6.2 | XCode 3.2 | g ++ 4.2 | 调试i386的配置
Mic*_*urr 10
至少有一个人报告了关于Apple的g ++ 4.2.1的问题,看起来可能与您的标准库的不正确配置有关_GLIBCXX_FULLY_DYNAMIC_STRING
(不是我理解我在这里输入的任何内容).
您可能会从包含此消息的新闻组线程中获得一些线索:
归档时间: |
|
查看次数: |
4079 次 |
最近记录: |