Boost Scoped Ptr-声明与分配
Boost Scoped Ptr - Declaration vs Allocation
以下代码运行良好:
scoped_ptr<clsA> pclObjA(new clsA());
但以下声明不起作用:
scoped_ptr<clsA> pclObjA;
// some statements
pclObjA(new clsA());
我得到如下编译错误:
error: no match for call to ‘(boost::scoped_ptr<clsA>) (clsA*)’
请帮我解决这个问题。
附加信息:源自claX
的clsA
代码:
pclObjA(new clsA());
不调用构造函数(而且scoped_ptr<>
实例已经存在),但正在尝试调用签名为scoped_ptr<clsA>::operator()(clsaA*)
的函数调用运算符,但该运算符不存在。
使用boost::scoped_ptr<T>::reset(T*)
在构造后分配动态分配的对象:
pclObjA.reset(new clsA());
相关文章:
- 将本地 OpenCV Mat 变量声明为静态以防止重新分配
- 何时在函数中声明堆栈分配变量?
- 新运算符分配的大小大于声明的大小.为什么
- 将模板化实现分配给先前声明的函数
- C++如何使用虚拟基类型声明全局静态分配的变量
- 如何在声明期间将操作分配给复数
- 声明变量以保存字符串列表时的内存分配
- POD 类型是否可以具有显式声明的默认移动分配运算符
- C :如何声明std ::函数而无需创建成员函数以分配给它们
- 在声明节点创建链接列表时,为什么静态内存分配不起作用
- c++:何时初始化声明的变量而不将其分配给任何值
- 在 c++ 中是否有通过声明"implicit"数组分配?
- 只有当声明一个对象时,内存空间才会分配给类的数据成员,那么为什么 Sizeof(class_name) 给我结果
- 如何将值分配给没有值的声明 std::chrono::d uration
- 如何声明数组,然后稍后分配
- 声明指针时的隐式内存分配和初始化
- 如何声明和分配指针
- 声明向量时出现神秘的 malloc 内存分配错误
- 为什么编译器不将内存分配给类内声明的变量
- 声明变量大小数组,而无需使用动态内存分配