我有一个Y类,其中包含一个大小为100 X对象的数组。
class Y{
unsigned int x_array[100];
};
我需要初始化这个数组,以便所有元素都为零。这在Visual Studio中可以做到吗?如果不能,我能做什么?如果我这样做:
unsigned int x_array[100] = {0};
我收到一个编译错误,说不允许数据成员初始化。
(英特尔C++编译器 v13)
您尝试执行的操作仅在 C++11 开始可用,在 C++03 中,以下操作应该可用:
class Y{
public:
Y() : x_array() { }
unsigned int x_array[100];
};
还可以考虑改用std::vector<unsigned int>
:
#include <vector>
class Y{
public:
Y() : x(std::vector<unsigned int>(100, 0)) { }
std::vector<unsigned int> x;
};