为什么不允许在 C(或 C++)中使用?
我的意思是:
ucell GetPlayerPosPositionData[5];
GetPlayerPosPositionData = {4*sizeof(cell),playerid,0,sizeof(cell),2*sizeof(cell)};//this does not work, error
//normal assignment
GetPlayerPosPositionData[1] = playerid;
GetPlayerPosPositionData[2] = 0;
GetPlayerPosPositionData[3] = sizeof(cell);
GetPlayerPosPositionData[4] = 2*sizeof(cell);
最佳答案
因为数组是不可赋值的。您可以在声明时初始化它们,也可以在每个元素的基础上分配它们,仅此而已。这会起作用:
ucell GetPlayerPosPositionData[] = {4*sizeof(cell),
playerid,
0,
sizeof(cell),
2*sizeof(cell)};
关于c++ - 为什么当您尝试使用 arr = {values} 为数组赋值时会发生错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13781757/