假设我有一个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我们不需要这样做。我在这里错过了什么吗?