1

我有一个如下的打印功能:

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]);
}

print func 调用将得到编译错误。我的问题是在不修改 print func 的定义的情况下,如何修改 print func 调用以使其打印出你好?

更新:以下代码可以工作。

char *temp=a[0];
print(&temp);
4

1 回答 1

0

你不需要转换任何东西。如果你调用一个以数组为参数的函数,这总是一个指针。在我看来,你只需要打电话

打印(一[0]);

你所做的会导致一个 char *作为参数。

于 2012-06-08T18:04:12.523 回答