通常struct的成员变量的初始化发生在它的构造函数中
struct line
{
line()
{
length=0;
name[0] = '\0';
}
int length;
char name[10];
};
但我如何将二维数组初始化为 0 或空值?
struct myValues
{
myValues()
{
my2dDimension[0][0] = { 0 }; //shows error:expected an expression
}
int my2dDimension[20][2];
}
如果我不初始化它们,它们将包含我不想要的垃圾值。
最佳答案
我会用memset
struct myValues
{
myValues()
{
memset(my2dDimension, 0, sizeof my2dDimension);
}
int my2dDimension[20][2];
}
memset 用给定值(在本例中为零)填充内存块到给定大小(以字节为单位)。
关于c++ - 初始化结构的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15479983/