1

我有一个 Y 类,其中包含一个大小为 100 个 X 对象的数组。

class Y{
    unsigned int x_array[100];
};

我需要初始化这个数组,使所有元素都为零。这可以在 Visual Studio 中做吗?如果不能,我该怎么办?如果我做:

unsigned int x_array[100] = {0}; 

我收到一个编译错误,说不允许数据成员初始化。

(英特尔 C++ 编译器 v13)

4

1 回答 1

4

What you are trying to do is available only since C++11, in C++03 the following should do:

class Y{
public:
    Y() : x_array() { }
    unsigned int x_array[100];
};

Also consider using std::vector<unsigned int> instead:

#include <vector>

class Y{
public:
    Y() : x(std::vector<unsigned int>(100, 0)) { }
    std::vector<unsigned int> x;
};
于 2013-10-11T22:04:59.130 回答