Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我试图在我的班级中声明一个内存池。
但是编译器会显示一些基本错误,例如在 ';' 之前缺少 ')'
或语法错误:'sizeof'
如果我将池用作局部变量,它工作得很好,但我真的想让它与班级一起生活。
我的使用有什么问题?
这是类,MAX_OBJ 是一个常量
class CData { public: CData(void); ~CData(void); private: boost::pool m_Pool(sizeof(DWORD) * MAX_OBJ); };
我不认为这与boost::pool.
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。”
m_Pool
然后在一个或多个构造函数中指定如何初始化该成员。