如何使用构造函数初始化数组? 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 } {}
};
我是一名初学者 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 } {}
};