在标头中声明任何与iostream相关的对象在尝试初始化时抛出错误

时间:2012-06-10 20:48:28

标签: c++ iostream

我已宣布两个

class myclass
{
private:
  stringbuf* mbuf;
  iostream* mios;
};

在我的班级.h头文件中。但是当我尝试在我的构造函数中初始化它们时:

myclass::myclass()
{
  mbuf = new stringbuf();
  mios = new iostream(mbuf);

}

它会引发错误:

invalid use of incomplete type 'std::stringbuf'

然后当然iostream抱怨无法使用stringbuf

1 个答案:

答案 0 :(得分:6)

您是否为<sstream>添加了适当的标题,stringbuf<iostream> iostream