2

我已经宣布两者

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

4

1 回答 1

7

您是否包含了适当的标题,即<sstream>forstringbuf<iostream>for iostream

于 2012-06-10T20:50:46.613 回答