0

如果函数是:

void foo(struct* bar)
{
}

struct foobar;

是struct的单个实例,会不会调用

foo(foobar);

是否将其视为指向一个成员数组的指针?呼叫是合法的还是需要超载?

4

1 回答 1

4

是struct的单个实例,会调用foo(foobar); 是否将其视为指向一个成员数组的指针?呼叫是合法的还是需要超载?

不,它不会。调用是不合法的,过载可能会使调用工作。

如果一个函数需要一个指向 a 的指针struct,那么你必须给它一个指向 a 的指针struct。数组很特殊,因为它们衰减为指向第一个元素的指针。

于 2012-05-26T03:27:14.750 回答