std :: stringstream GCC异常行为

时间:2009-10-21 06:23:30

标签: gcc stringstream

我在Mac上编译一个简短的小程序(GCC 4.2)时遇到了一个非常有趣的问题。下面的函数只会将字符串或字符串流式传输到字符串流中,而不会传递给其他任何东西(int,double,float等)。实际上,如果我尝试将int转换为字符串,则设置fail标志。

但是,删除预处理程序标志:_GLIBCXX_DEBUG=1,默认情况下在XCode中为调试模式设置,将产生所需的结果/正确行为。

这是我正在谈论的简单功能。 value是类型T的模板变量。测试为int,double,float(不工作),char和字符串(工作)。

template < typename T >
const std::string Attribute<T>::getValueAsString() const
{
 std::ostringstream stringValue;
 stringValue << value;
 return stringValue.str();
}

任何想法我做错了,为什么这不起作用,或预处理器标志做了什么让它不再起作用?

谢谢!

1 个答案:

答案 0 :(得分:0)