错误:strstream.h:没有这样的文件或目录 我试图在Linux ReHAT中运行一个旧的C++代码。我使用的是gcc版本4.1.2

错误:strstream.h:没有这样的文件或目录 我试图在Linux ReHAT中运行一个旧的C++代码。我使用的是gcc版本4.1.2,c++,gcc,C++,Gcc,我得到了以下错误: error: strstream.h: No such file or directory /trnuser1/rmtrain/DevelopmentEnv/Generic/CoreObjects/GCVTransformationServices.cpp:41: error: âostrstreamâ was not declared in this scope /trnuser1/rmtrain/DevelopmentEnv/Generic/CoreObjects/GCV

我得到了以下错误:

error: strstream.h: No such file or directory
/trnuser1/rmtrain/DevelopmentEnv/Generic/CoreObjects/GCVTransformationServices.cpp:41: error: âostrstreamâ was not declared in this scope
/trnuser1/rmtrain/DevelopmentEnv/Generic/CoreObjects/GCVTransformationServices.cpp:41: error: expected `;' before âstrDestXMLâ
/trnuser1/rmtrain/DevelopmentEnv/Generic/CoreObjects/GCVTransformationServices.cpp:62: error: âstrDestXMLâ was not declared in this scope
这段代码在Solaris和gcc版本2.95下运行良好。错误指向的行包含以下语句:

ostrstream strDestXML;
如何解决此问题?

您可以在注释中包含缺少“.h”后缀的情况。 但是,如果您希望将代码正确地移植到现代C++,则应该考虑将其更改为包含和STD::OSTRIGSWATE STRESXML;正如注释中所建议的那样。

您可以在注释中添加缺少“.h”后缀的注释。
但是,如果您希望将代码正确地移植到现代C++,则应该考虑将其更改为包含和STD::OSTRIGSWATE STRESXML;如注释所示,

< P>标准C++标题没有扩展名。
#include <sstream>
最后,strstream被弃用;改用stringstream——这就是我在这里使用它的原因


<> p>和,关于GCC版本-4.1.2的注释是旧的,不管使用什么东西,使用新的东西。

< P>标准C++标题没有扩展。
#include <sstream>
最后,strstream被弃用;改用stringstream——这就是我在这里使用它的原因


而且,关于GCC版本-4.1.2的一个注意事项是旧的,不管怎样-使用更新的东西。

这个include的现代名称是。虽然它已被正式弃用,但它仍然是必需的。它定义的类位于namespace std中,语义与经典的iostream稍有不同,因此您以后可能需要做一些修改。根据它的使用方式,将[io]stream替换为std::[io]stringstream可能会有意义。

此包含的现代名称为。虽然它已被正式弃用,但它仍然是必需的。它定义的类位于namespace std中,语义与经典的iostream稍有不同,因此您以后可能需要做一些修改。根据它的使用方式,将[io]stream替换为std::[io]stringstream可能是有意义的。

可能包括和std::ostringstream strestxml;。1 4.1.2是旧的。获取更新的编译器。2个标准的C++标题没有扩展。@ HMJD为什么不是答案?@ LuChanGrigor,虽然我确信我不是100%肯定。注意GCC 2.95编译的不是标准C++,但是GCC 4。x编译几乎是标准C++,所以基本上编译器和编译器都支持不同的语言。可能包括和STD::OSTRIGSWATESTRESDMSXML;1 4.1.2是旧的。获取更新的编译器。2个标准的C++标题没有扩展。@ HMJD为什么不是答案?@ LuChanGrigor,虽然我确信我不是100%肯定。注意GCC 2.95编译的不是标准C++,但是GCC 4。x编译几乎是标准C++,所以基本上两个编译器都支持不同的语言。