-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