如何在 C++ 构造函数初始化列表中初始化非内置类型的数组?
How do I initialize an array of a non-built-in type in a c++ constructor initializer list?
在 C++ 中,我试图在构造函数初始化列表中初始化一个非内置类型的数组。从代码开始:
class bar {
int i1,i2;
public:
bar(i1,i2);
}
class foo {
bar bar1,bar2;
public:
foo(int a, int b, int c, int d) : bar1(a,b),bar2(c,d) {};
}
我想用数组替换 bar1 和 bar2:
bar allbars[2];
如何更改初始化列表以初始化 allbars?
首先为 bar
创建一个合适的构造函数。
class bar {
int i1,i2;
public:
bar(int one, int two)
: i1(one)
, i2(two)
{};
};
class foo {
bar allbars[2];
public:
foo(int a, int b, int c, int d)
: allbars{ bar(a,b), bar(c,d) }
{};
};
在 C++ 中,我试图在构造函数初始化列表中初始化一个非内置类型的数组。从代码开始:
class bar {
int i1,i2;
public:
bar(i1,i2);
}
class foo {
bar bar1,bar2;
public:
foo(int a, int b, int c, int d) : bar1(a,b),bar2(c,d) {};
}
我想用数组替换 bar1 和 bar2:
bar allbars[2];
如何更改初始化列表以初始化 allbars?
首先为 bar
创建一个合适的构造函数。
class bar {
int i1,i2;
public:
bar(int one, int two)
: i1(one)
, i2(two)
{};
};
class foo {
bar allbars[2];
public:
foo(int a, int b, int c, int d)
: allbars{ bar(a,b), bar(c,d) }
{};
};