我有一个固定大小为8的类对象的静态数组PV
。我想在construtor初始化列表中初始化这个数组。但我得到错误:
/base/Port.hpp:35:错误:在' {'之前预期的不合格ID令牌
/base/Port.hpp:在构造函数' io_port_t :: io_port_t(uint16_t,uint16_t,uint16_t)':
/base/Port.hpp:25:错误:预期`('之前 ' {'令牌
/base/Port.hpp:25:错误:没有匹配的函数来调用 '管脚::引脚()'
我的代码:
struct io_port_t
{
public:
io_port_t(uint16_t pin, uint16_t ddr, uint16_t port) :
PIN ((CReg)pin ),
DDR ((CReg)ddr ),
PORT((CReg)port ),
P0(0, &PIN, &DDR, &PORT),
P1(1, &PIN, &DDR, &PORT),
P2(2, &PIN, &DDR, &PORT),
P3(3, &PIN, &DDR, &PORT),
P4(4, &PIN, &DDR, &PORT),
P5(5, &PIN, &DDR, &PORT),
P6(6, &PIN, &DDR, &PORT),
P7(7, &PIN, &DDR, &PORT),
PV{
Pin(0, &PIN, &DDR, &PORT),
Pin(1, &PIN, &DDR, &PORT),
Pin(2, &PIN, &DDR, &PORT),
Pin(3, &PIN, &DDR, &PORT),
Pin(4, &PIN, &DDR, &PORT),
Pin(5, &PIN, &DDR, &PORT),
Pin(6, &PIN, &DDR, &PORT),
Pin(7, &PIN, &DDR, &PORT)
}
{ }
CReg PIN;
CReg DDR;
CReg PORT;
Pin P0;
Pin P1;
Pin P2;
Pin P3;
Pin P4;
Pin P5;
Pin P6;
Pin P7;
Pin PV[8];
};
当我从构造函数初始化列表中删除PV
的初始化时,它编译得很好。我试图将{
括号更改为(
,例如PV(
或PV({
,但我仍然遇到错误。如何初始化PV
数组?