如何使用构造函数初始化数组? C++

How do I initialise an array using a constructor? C++

我是一名初学者 C++ 程序员,不确定为什么这行不通:

#include <iostream>
using namespace std;

class Hello
{   private:
        int mess[];
    public:
        Hello() {
            mess = { 1, 3, 4, 546, 2 };
        }
};

int main()
{
    Hello h;
    return 0;
}

一直说:错误:从初始化列表中分配给数组

对我初始化数组的方式不满意"mess = { 1, 3, 4, 546, 2 };"

为什么会发生这种情况,我该如何解决?

谢谢!

C 数组不可分配(并且您不给它一个大小)

您可以在构造函数初始化器中初始化它:

class Hello
{   private:
        int mess[5];
    public:
        Hello() : mess{ 1, 3, 4, 546, 2 } {}
};