我必须在不使用循环的情况下为mat(s中的二维数组)赋值。
struct s{
int mat[2][2];
};
int main()
{
s *obj=new s[10];
obj[0].mat[][]={{1,2},{5,6}}; /*error----how to assign value like this??*/
}
答案 0 :(得分:4)
分配整个对象:
int main()
{
s obj { { {1,1}, {1,1} } };
obj = s { { {2,2}, {2,2} } };
}
答案 1 :(得分:2)
数组不能在C +中分配。
但是s
是一个聚合,所以你可以直接使用一个大括号初始化器:
struct s{
int mat[2][2];
};
int main()
{
s obj = { {1,2} , {5,6} };
}
答案 2 :(得分:0)
你不能:你必须使用循环。