我的代码如下
std::ostringstream tmpstr, tmpstr2;
for( /* something */ )
{
//writting inside tmpstr
}
tmpstr2 << tmpstr.rdbuf();
cout << "assigned to tmpstr2";
out <<tmpstr2.str().c_str() ; // Where out is ostrstream& out
这是转储中的最后一次堆栈调用:-
std::basic_ostringstream<char,std::char_traits<char>,std::allocator<char> >::~basic_ostringstream
执行时的最后一行给了我一个核心转储。我无法理解其背后的原因。有人可以让我知道我是否正在执行一个invalid
不是编译错误的操作。