Jud*_*ess 1 c++ memory boost pool
我试图在我的班级中声明一个内存池.
但是编译器在''之前显示了一些基本的错误,比如''''
或语法错误:'sizeof'
如果我将池用作局部变量,它的效果很好,但我真的想让它与该类一起使用.
我的用法有什么问题?
这是类,MAX_OBJ是const
class CData
{
public:
CData(void);
~CData(void);
private:
boost::pool m_Pool(sizeof(DWORD) * MAX_OBJ);
};
Run Code Online (Sandbox Code Playgroud)
我不认为这与任何事情有关boost::pool.
但这一行:
boost::pool m_Pool(sizeof(DWORD) * MAX_OBJ);
Run Code Online (Sandbox Code Playgroud)
应该是:
boost::pool m_Pool;
Run Code Online (Sandbox Code Playgroud)
然后你的构造函数应该是:
CData::CData() :
m_Pool(sizeof(DWORD) * MAX_OBJ)
{
}
Run Code Online (Sandbox Code Playgroud)
您无法在类声明中构造成员.你可以这样说:"我的班级有一个名为m_Pool其类型的成员boost::pool."
然后,您在一个或多个构造函数中指定如何初始化此成员.
| 归档时间: |
|
| 查看次数: |
1704 次 |
| 最近记录: |