如何解决使用 stringstream
我有以下 C++ 代码
#include <iostream>
int main()
{
std::string sText = "These are words in my string!";
std::string sWord;
std::stringstream ss(sText);
}
它在带有 g++ 的 Fedora 上运行良好。但是,使用 Visual Studio 在 Windows 上运行它(所以我猜是 clang)会得到 incomplete type is not allowed
。这是我的代码错误,还是编译器之间存在一些差异?
注意:我试过 std::stringstream ss << sText;
但得到了完全相同的错误。
解决方法
您未能#include <sstream>
。
这是允许编译的(任何标准头文件都可以包含任意数量的其他标准头文件),但您通常应该包括您正在使用的“东西”的头文件(并且 stringstream
在 { {1}})。一旦包含头文件,VC++ 就可以很好地编译它。
[感谢 Remy] 由于您使用的是 <sstream>
,因此您还应该使用 std::string
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。