C++ VisualStudio:;str()不是std::ostringstream的成员;

C++ VisualStudio:;str()不是std::ostringstream的成员;,c++,visual-studio,stl,std,ostringstream,C++,Visual Studio,Stl,Std,Ostringstream,我在Visual Studio 2013(Xcode 6.2编译时)中有一个编译器错误,我无法理解: 下面的示例代码是从格式转换中摘录的一个抽象、简化的代码: #include<sstream> void main(...){ (std::ostringstream()<<0).str(); } #包括 空总管(…){ (std::ostringstream()错误消息是error C2039:'str':不是'std::basic_ostream'的成员。它抱

我在Visual Studio 2013(Xcode 6.2编译时)中有一个编译器错误,我无法理解:

下面的示例代码是从格式转换中摘录的一个抽象、简化的代码:

#include<sstream>
void main(...){
    (std::ostringstream()<<0).str();
}
#包括
空总管(…){

(std::ostringstream()错误消息是
error C2039:'str':不是'std::basic_ostream'
的成员。它抱怨
std::basic_ostream
中缺少
str
,而不是
std::ostringstream


std::ostringstream
操作符在我的编译器中,它实际上说
sst.cpp(3):错误C2039:“str”:不是“std::basic_ostream”的成员
。请注意,它是关于ostream而不是ostringstream
感谢你的建议,是的,这篇文章不清楚,但是,是的,以前已经被包括在内。不,它不会编译。嘿,VS2013比我想象的更糟。演员阵容应该是
std::ostringstream&
。它没有起作用但是,请在AICT上正常工作(检查
str()
返回的内容)@T.C.使用
std::ostream const&
应该可以顺利工作。@KonradRudolph,嗯?我不这么认为。是的,这是一个真正的问题,更新了我的代码。谢谢更正。谢谢大家,这很有效!多快的解决方案!错误阅读错误消息都是我的错:它必须读“str()不是std::ostream的成员”感谢您指出这一点并提供cast解决方案!要使用clang进行编译,还需要一个常量:static_cast(std::ostringstream()
#include<sstream>
void main(...){
    (std::ostringstream()).str();
}
std::string result=(std::ostringstream()<<value).str(); 
#include<sstream>
void main(...){
    (static_cast<std::ostringstream&>(std::ostringstream() << 0)).str();
}