c ++用struct指针初始化struct

glu*_*ine 2 c++ struct

在我阅读C++ Primer时,我遇到了这段代码

struct destination;
struct connection;
connection connect(destination*);
Run Code Online (Sandbox Code Playgroud)

是什么connection connect(destination*);线怎么办?如果它传递结构名称,它怎么编译好呢?你是不是应该初始化structto变量然后传递那样?

struct destination;
struct connection;
destination dest;
connection connect(dest);
Run Code Online (Sandbox Code Playgroud)

Lig*_*ica 6

是什么connection connect(destination*);线怎么办?

它声明了一个名为的函数connect,它接受destination*并返回connection.

在此声明中,没有为参数提供名称(虽然对读者没有特别的帮助,但它是有效的).据推测,这将在定义函数时提供,如下所示:

connection connect(destination* ptr)
{
   connection conn;
   // do something with conn and ptr
   return conn;
};
Run Code Online (Sandbox Code Playgroud)

本书的其余部分代码片段(您没有引用的部分)显示了对该函数的调用connect,来自另一个函数调用f.

功能声明前面有六章.

如果它通过结构名称,它怎么编译好?

因为那是你应该在函数声明中做的事情.

你是不是应该初始化structto变量然后传递那样?

没有.