读书人

包含了头文件编译的时分却报错说类型

发布时间: 2014-04-21 16:31:33 作者: rapoo

包含了头文件编译的时候却报错,说类型为定义

#include <list>
#include <queue>
#include "DataSource.h"
using namespace std;

class BufferObserver
{
public:
virtual ~BufferObserver();
virtual void notify();
virtual void attach(DataSource & source);

private:
list<DataSource> mList;
};


#include "Demuxer.h"
#include <queue>

using namespace std;

class DataSource
{
public:
DataSource() { };
...
}

代码如上,我的DataSoure声明并且在定义完成了,为什么会提示我 错误: ‘DataSource’在此作用域中尚未声明
[解决办法]
class 后面要加分号,另外你单独编译一下datasource文件看看
[解决办法]
从lz提供的代码来看,
class DataSource类结束后没有分号
[解决办法]
你头文件每加#ifdef quard吗?

读书人网 >C++

热点推荐