我已经声明了一个全局多维数组int possw[8][2]
然后我调用了一个函数,通过使用另一个初始化了int w[2]
的数组来对其进行更改
possw[8][2] = {{b[0]+1,b[1]+2},{b[0]+2,b[1]+1},{b[0]+2,b[1]-1},{b[0]+1,b[1]-2},{b[0]-1,b[1]-2},{b[0]-2,b[1]-1},{b[0]-2,b[1]+1},{b[0]-2,b[1]+2}};
稍后阅读了一些StackOverflow帖子后,我意识到我必须使用
possw[][]
,但这也给了我一个错误。error: expected primary-expression before ']' token
我该怎么办?
最佳答案
您不能分配给数组,只能复制到该数组。
这里一个可能的解决方案是制作另一个数组,例如您初始化的new_passw
:
int new_passw[8][2] = {{b[0]+1,b[1]+2}, ... }};
然后,从此
new_passw
数组复制到旧的passw
数组。
关于c++ - 错误:assigning to an array from an initializer list c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59873907/