通常,struct成员变量的初始化将在其构造函数中进行
struct line
{
line()
{
length=0;
name[0] = '\0';
}
int length;
char name[10];
};
但是我如何将2d数组初始化为0或null值?
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将给定值(在这种情况下为零)填充到给定大小(以字节为单位)的内存块。