如何通过c ++中的构造函数初始化列表来初始化类的私有struct成员?

时间:2016-08-15 22:39:45

标签: c++ struct compiler-errors initialization initializer-list

假设我有一个POD类型的结构。

// A.hpp
//struct is of POD type
struct s {
    int x;
    double y;
};

然后我让这个结构成为A类的私有成员

// A.hpp
class A{
    s my_struct;
    int size;
public:
    A(int, double, int);

};

现在我想使用构造函数初始化类,我也想初始化my_sruct。

到目前为止我所拥有的是

// A.cpp
A::A(int x_, double y_, int size_):my_struct(x_, y_), size(size_){}

// main.cpp
A a( 4, 6.6, 7); // this is how I try to instantiate the object 

但我得错误说

  

错误:没有匹配函数来调用's :: s(int&,double&)'

我可以通过在struct s中放置一个构造函数来解决它。但我想POD我们不需要这样做。我在这里错过了什么吗?

0 个答案:

没有答案