如何将整个结构设置为null?

时间:2017-06-15 12:25:02

标签: c++ arrays struct null initialization

struct zaidejas {
    int numeris;
    int aiksteleje;
    bool penketas;
};
int main(){
    zaidejas z[12];
    z = {};
}

我在z = {}:

行中出错
error: assigning to an array from an initializer list

我不知道如何修复错误。我真的很感激任何帮助。

5 个答案:

答案 0 :(得分:4)

您无法分配数组,只能在定义数组时对其进行初始化,或者在定义数组后将其复制到数组中。

我建议初始化:

zaidejas z[12] = {};

答案 1 :(得分:2)

在C ++ 11中,您可以按如下方式初始化数组:

 zaidejas z[12]{};

如果要初始化数组的单个元素,可以使用:

z[0] = zaidejas{};

这是早期版本的C ++中可用的(基于构造函数的)初始化的聚合等效项

z[0] = zaidejas();

答案 2 :(得分:1)

你应该写

 zaidejas z[12] = {};
 //             ^^^^

这将对所有数组元素进行值初始化,这反过来将对每个元素的类数据成员进行零初始化。

答案 3 :(得分:1)

  

如何将整个结构设置为null?

像这样:

zaidejas z = {};

对于你的阵列,你应该这样做:

zaidejas z[12] = {};

答案 4 :(得分:0)

你有12个元素。如果要将所有这些设置为null,请执行以下操作

int main(){
    int number_elements = 12;
    zaidejas z[number_elements ];
    for (int i = 0; i < number_elements ; z++) z[i] = {}
}