c++如何为数组成员在初始化列表里初始化

2024年11月28日 12:50
有4个网友回答
网友(1):

class A{
    private:
        int a[10];
    public:
        A(int n):a{n}{
        }
}

注:数组可以用大括号初始化,且不会出warning。如:

class A{
    private:
        int a[100];
    public:
        A(int a0,int a1,int a2):a{a0,a1,a2}{
        }
}

网友(2):

如果你一定要在初始化列表中初始化,可以这样做,就是麻烦了些:
class A
{
private:
union {
int a[10];
int a0;
};
public:
A(int n):a0(n){}
};

网友(3):

初始化类表初始化的是类的成员,你这个类中的成员是a,而不是a[0]
所以不行

网友(4):

A(int n)
{
a[0] = n;
}