У меня есть печать FUNC, как показано ниже:Как преобразовать двумерный массив символов в char **?
void print(char **p)
{
cout<<p[0]<<endl;
}
Вот моя главная функ
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-массив, то вы должны сделать это следующим образом: print ((char **) a) ; Я не знаю, почему ... – Felix