C++ C++;传递一个结构和一个指针?

C++ C++;传递一个结构和一个指针?,c++,pointers,parameters,struct,overloading,C++,Pointers,Parameters,Struct,Overloading,如果功能是: void foo(struct* bar) { } 及 是struct的单个实例,调用 foo(foobar); 是否将其视为指向单成员数组的指针?这个电话是合法的还是需要超负荷 是struct的单个实例,将调用foo(foobar); 是否将其视为指向单成员数组的指针?这个电话是合法的还是需要超负荷 不,不会的。该呼叫是不合法的,过载可能会使呼叫正常工作 如果函数需要指向struct的指针,则必须给它一个指向struct的指针。数组是特殊的,因为它们衰减为指向第一个元素的指针

如果功能是:

void foo(struct* bar)
{
}

是struct的单个实例,调用

foo(foobar);
是否将其视为指向单成员数组的指针?这个电话是合法的还是需要超负荷

是struct的单个实例,将调用foo(foobar); 是否将其视为指向单成员数组的指针?这个电话是合法的还是需要超负荷

不,不会的。该呼叫是不合法的,过载可能会使呼叫正常工作

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

是struct的单个实例,将调用foo(foobar); 是否将其视为指向单成员数组的指针?这个电话是合法的还是需要超负荷

不,不会的。该呼叫是不合法的,过载可能会使呼叫正常工作

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

这不应该编译a)因为您使用了
struct
关键字作为类名,b)因为您在调用中缺少一个符号(&),或者在函数参数列表中添加一个额外的星号(根据您的问题推测是前者)。这不应该编译a)因为您使用了
struct
关键字作为类名,b)因为您在调用中缺少一个符号(&),或者在函数参数列表中添加了一个额外的星号(可能是基于您的问题的前一个星号)。
foo(foobar);