我有以下模板结构:指针分配
template <typename scalar_type>
struct postc_params{
scalar_type delta;
unsigned int time_horizon;
matrix_math::matrix<scalar_type> dynamics;
boost::shared_ptr<continuous_set> invariant_set_ptr;
boost::shared_ptr<continuous_set> input_set_ptr;
boost::shared_ptr<continuous_set> initial_set_ptr;
};
现在,我有一个模板类具有上述结构类型
template <typename scalar_type>
class A{
....
private:
....
postc_params<scalar_type> my_postc;
};
的内部类A的一个成员函数定义的私人构件,我有以下几行代码:
my_postc.initial_set_ptr = my_postc.initial_set_ptr->transform(some_obj);
transform函数返回ty的指针PE
boost::shared_ptr<continuous_set>
有了这个代码,我有以下错误:
过客 '常量的boost :: shared_ptr的' 作为 '这个' 的“的boost :: shared_ptr的说法<> &的boost :: shared_ptr的<> :: operator = (const boost :: shared_ptr &)[with Y = const continuous :: continuous_set,T = continuous :: continuous_set]'丢弃限定符
任何人都可以帮我解决这个问题吗?
啊..它确实是const。 – rayimag
扔我2美分,这不是我认为使用'可变'的“好”地方。 – rlbond