如何使用构造函数初始化数组?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; } #包括 使用名称空间std; 同学们好 {私人: int mess[]; 公众: 你好(){ mess={1,3,4546,2}; } }; int main() { 你好,h; 返回0; }

如何使用构造函数初始化数组?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; } #包括 使用名称空间std; 同学们好 {私人: int mess[]; 公众: 你好(){ mess={1,3,4546,2}; } }; int main() { 你好,h; 返回0; },c++,arrays,constructor,C++,Arrays,Constructor,一直说:错误:从初始值设定项列表分配到数组 它不满意我初始化数组“mess={1,3,4546,2} 为什么会发生这种情况,我该如何解决 谢谢大家! C-array是不可分配的(并且您没有给它一个大小) 您可以在构造函数初始值设定项中对其进行初始化: class Hello { private: int mess[5]; public: Hello() : mess{ 1, 3, 4, 546, 2 } {} }; “它对我初始化数组的方式不满意”,

一直说:错误:从初始值设定项列表分配到数组

它不满意我初始化数组“mess={1,3,4546,2}

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


谢谢大家!

C-array是不可分配的(并且您没有给它一个大小)

您可以在构造函数初始值设定项中对其进行初始化:

class Hello
{   private:
        int mess[5];
    public:
        Hello() : mess{ 1, 3, 4, 546, 2 } {}
};
“它对我初始化数组的方式不满意”,因为你没有!你分配给它的。(或者,尝试使用初始化器语法,但无法工作。)