C ++传递一个struct并传递一个可互换的指针?

时间:2012-05-26 03:24:40

标签: c++ pointers parameters struct overloading

如果功能是:

void foo(struct* bar)
{
}

struct foobar;

是一个struct的单个实例,是否会调用

foo(foobar);

被视为指向一个成员数组的指针?电话会合法还是需要超载?

1 个答案:

答案 0 :(得分:4)

  

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

不,它不会。该呼叫不合法,过载可能使呼叫有效。

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