【发布时间】:2019-05-15 11:55:58
【问题描述】:
我想在我的类的私有部分中声明来自两个不同类的两个对象。我遇到的问题是第二个对象应该在构造函数中采用第一个对象。所以这是我的班级私人部分的例子:
class FactorGraph
{
private:
gtsam::ISAM2Params _parameters();
gtsam::ISAM2 _isam(_parameters);
_parameters 对象应该作为 _isam 对象的参数传递,但据我所知,这是不可能的,因为 C++ 不允许这样做。有没有一种巧妙的方法可以做到这一点?
【问题讨论】:
-
在你的类的构造函数中初始化它们。
-
@drescherjm 当我初始化它们时,它们会简单地成为私有成员吗?
-
你把它们放在私人部分。所以它们是私有的。
-
gtsam::ISAM2Params _parameters();不是一个成员对象,它是一个成员函数,它不接受任何参数并返回一个gtsam::ISAM2Params。 -
您可能想了解统一初始化。
标签: c++