1
我有一個打印FUNC象下面這樣:如何將二維字符數組轉換爲char **?
void print(char **p)
{
cout<<p[0]<<endl;
}
這裏是我的主要FUNC
int _tmain(int argc, _TCHAR* argv[])
{
char a[50][50];
strcpy(a[0], "hello");
print(&a[0]);
}
打印FUNC調用將得到編譯錯誤。我的問題是沒有修改打印函數的定義,我如何修改打印函數調用以打印出你好?
更新:以下代碼將工作。
char *temp=a[0];
print(&temp);
試過,你會得到編譯錯誤,無法將參數1從char [50]轉換爲char **。 – GLP
對,如果你這樣做,你必須改變爲:void print(char * p) 如果你真的想要對2D數組進行vertage操作,它必須像下面這樣輸出:print((char **)a) ; 我真的不知道爲什麼... – Felix