在课堂上使用boost内存池
我试图在我的课程中声明一个内存池。在课堂上使用boost内存池
但编译器显示一些基本的错误,如''''之前';'
或语法错误:“的sizeof”
它工作得很好,如果我使用的池局部变量,但我真的希望把它与生活类。
我的用法有什么问题?
这里是一流,MAX_OBJ是一个const
class CData
{
public:
CData(void);
~CData(void);
private:
boost::pool m_Pool(sizeof(DWORD) * MAX_OBJ);
};
我不认为这是什么做boost::pool
。
,但此行:
boost::pool m_Pool(sizeof(DWORD) * MAX_OBJ);
也许应该是:
boost::pool m_Pool;
然后你的构造应该是:
CData::CData() :
m_Pool(sizeof(DWORD) * MAX_OBJ)
{
}
你不能建造成员在类声明 。你可以说:“我的班级有一个名为m_Pool
的成员,其类型为boost::pool
。”
然后,您可以在一个或多个构造函数中指定如何初始化此成员。
谢谢,我做了一个基本的错误...... :( – Judarkness 2010-08-09 07:48:51
@Judarkness:不客气,我只是浪费了10分钟在我自己的代码中找到一个缺少的';',所以我想我们在某个时候都会发生基本错误;) – ereOn 2010-08-09 07:52:16
编译器还显示**错误在哪里。知道这一点也是有用的。 – ereOn 2010-08-09 07:33:26