不允许使用不完整类型:stringstream

时间:2011-04-25 18:20:56

标签: c++ types stringstream

为什么这一行会出错[{1}}?

Error: incomplete type is not allowed

3 个答案:

答案 0 :(得分:162)

#include <sstream>并使用完全限定名称,即std::stringstream ss;

答案 1 :(得分:30)

请添加:

#include <sstream>

答案 2 :(得分:8)

一个不完整的类型是你有一个类型的前向声明(例如class stringstream;),所以编译器知道这个标识符是一个类型,但不是它的完整定义(class stringstream { ... };

当您包含使用该类型的标头但不包含定义类型的标头时,可能会发生这种情况。

对于标准库中的内容,例如stringstream类,请使用参考文档(例如Unix man页面,MSDN等)来确定{{1}所需的内容如果有的话,使用它以及找到它的命名空间。您可能需要搜索出现班级名称的页面(例如#include)。