-3
bool potezn(int x,int y,int k,char c,char ram1[][100],bool segfault,int n,int m)
{
segfault=true;
if(c=='U' && x>=k){x=x-k;segfault=false;}
if(c=='D' && x+k<n){x=x+k;segfault=false;}
if(c=='L' && y>=k){y=y-k;segfault=false;}
if(c=='R' && y+k<m){y=y+k;segfault=false;}
if(ram1[x][y]=='.')ram1[x][y]='N';//zauzima polozaj ukoliko moze
return segfault;
}
segfault=potezn(x,y,q,c,ram,segfault,n,m);
这是我的代码,当我运行它,我不断收到错误我不能使用字符函数
d:\ dev的\开发-CPP \ segfault2.cpp
不能转换
char (*)[((unsigned int)((int)m))]
到char (*)[100]
的说法5
到bool potezn(int, int, int, char, char (*)[100], bool, int, int)
请帮助, 在此先感谢
如何'ram'声明?看起来你正在尝试传递一个可变长度数组(VLA)作为参数,该参数需要一个固定长度的常规数组。还要注意,VLA不是有效的C++;它们是GCC在C++中作为扩展支持的仅支持C的功能。 – 2015-02-08 21:52:27
在使用C++时,尝试将ram1更改为'std :: vector',否则使用'char **'。 – Raito 2015-02-08 21:54:47