我有一个Y类,它包含一个100 X对象的数组。
class Y{
unsigned int x_array[100];
};
我需要初始化这个数组,以便所有元素都为零。是否可以在Visual Studio中执行此操作,如果不能,我该怎么办?如果我这样做:
unsigned int x_array[100] = {0};
我收到编译错误,说不允许数据成员初始化。
(英特尔C ++编译器v13)
答案 0 :(得分:4)
您尝试做的事情仅在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;
};