记录一下
在c++中,通常我们对于结构体或者类赋值时,会使用到顺序初始化或者指定初始化来简化代码(偷懒 ),但使用这两种方法初始化的前提条件是结构体没有构造函数,否则会报错。若是报错,把其构造函数删了即可
一下是实例
struct A {
int x, y, z;
// A(){} // 注意不能加构造函数,不然会报错
};
int main() {
A a, b, c, d;
a = {1, 2, 3}; // 初始化x, y, z
b = {1, 2}; //初始化x,y
c = {.x = 1, .y = 4, .z = 5}; // 指定初始化x, y, z
d = {.y = 3, .z = 1}; // 指定初始化y, z
d = {.z = 3, .y = 1}; // 顺序不对,这里会报错
return 0;
}