使用boost::scoped_ptr
或boost::shared_ptr
时出现错误
1> * \ algomanager.cpp(28):错误C2064:术语未评估为
函数带有1个参数
我有这样的代码。 。 。
class X{
boost::shared_ptr<cPreFilterProcess> preProcess;
public:
X(){
preProcess(new cPreFilterProcess(pars));
}
};
我想念什么?谢谢。
最佳答案
我神话般的魔术调试玻璃球告诉我您正在执行以下操作:
class X{
boost::shared_ptr<cPreFilterProcess> preProcess;
public:
X(){
preProcess(new cPreFilterProcess(pars));
}
};
您需要使用以下成员初始化器之一:
X() : preProcess(...){}
或使用
.reset
,因为您不能只分配这样的指针:X() { preProcess.reset(...); }
我会强烈推荐第一种选择。
关于c++ - 简单的Boost智能指针语法问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10473152/