如何将整个结构设置为null?
问题描述:
struct zaidejas {
int numeris;
int aiksteleje;
bool penketas;
};
int main(){
zaidejas z[12];
z = {};
}
我在Z = {}线得到一个错误:如何将整个结构设置为null?
error: assigning to an array from an initializer list
我不知道如何解决这个错误。我真的很感激任何帮助。
答
您不能分配给一个数组,只能在定义它时进行初始化,或者一旦定义它就复制到它。
我建议初始化:
zaidejas z[12] = {};
答
你应该只写
zaidejas z[12] = {};
// ^^^^
这将值初始化所有的数组元素,这反过来将零初始化每个元素的类的数据成员。
答
如何将整个结构设置为null?
像这样:
zaidejas z = {};
为了您的数组,你应该做的:
zaidejas z[12] = {};
答
在C++ 11,你可以按如下初始化数组:
zaidejas z[12]{};
如果你想初始化你的数组中的一个元素,你可以使用:
z[0] = zaidejas{};
这是(基于构造函数)初始化的综合等效那是在早期版本的C++
z[0] = zaidejas();
答
可你有12个元素。如果你想设置所有的人都为空,做这样的事情
int main(){
int number_elements = 12;
zaidejas z[number_elements ];
for (int i = 0; i < number_elements ; z++) z[i] = {}
}
的可能的复制[我如何在结构中初始化一个指向空在C++ 11?(https://开头计算器。 COM /问题/ 20596780 /如何-DO-初始化-A-指针-IN-A-结构到无效的-C11) – Jayesh