1

I have a print func like below:

void print(char **p)
{
    cout<<p[0]<<endl;
}

Here is my main func

int _tmain(int argc, _TCHAR* argv[])
{
    char a[50][50];
    strcpy(a[0], "hello");
    print(&a[0]);
}

The print func call will get compilation error. My question is without modifying the definition of the print func, how do I modify the print func call to make it print out hello?

Update: following code would work.

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

1 に答える 1

0

あなたは何でも変換する必要はありません。配列をパラメーターとして関数を呼び出す場合、これは常にポインターです。私の見解では、あなたはただ電話する必要があります

print(a [0]);

あなたがしたことは、パラメータとしてchar *を引き起こします。

于 2012-06-08T18:04:12.523 に答える