[英]c++ initializing struct with struct pointer
在阅读C ++ Primer时,我遇到了这段代码
struct destination;
struct connection;
connection connect(destination*);
connection connect(destination*);
是什么connection connect(destination*);
行吗? 以及即使传递了结构名称,它怎么也可以正常编译? 您不是应该将struct
初始化为变量,然后像这样传递吗?
struct destination;
struct connection;
destination dest;
connection connect(dest);
connection connect(destination*);
是什么connection connect(destination*);
行吗?
它声明了一个名为connect
的函数,该函数接受destination*
并返回connection
。
在此声明中,没有为参数提供名称(尽管对读者没有特别帮助,但该名称是有效的)。 大概是在定义函数时提供的,就像这样:
connection connect(destination* ptr)
{
connection conn;
// do something with conn and ptr
return conn;
};
本书的其余代码片段(您未引用的部分)显示了从另一个名为f
的函数中对connect
函数的调用。
函数声明在前六章中进行了介绍。
即使传递了结构名称,它怎么也可以正常编译?
因为那是您应该在函数声明中执行的操作。
您不是应该将
struct
初始化为变量,然后像这样传递吗?
没有。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.