c++ 中的“struct* struct newStruct(int somedata) { }”语法是什么[重复]

问题描述 投票:0回答:1

我试图用 C++ 制作一棵树,并遇到了这段代码,这真的让我很困惑。

struct node
{
    int data;
    struct node* left;
    struct node* right;
};

// The code bellow this is the part i dont understand
struct node* newNode(int idata)
{
    node* node = new struct node;
    node->data = idata;
    node->left = NULL;
    node->right = NULL;
    return node;
}

什么是

struct node*
?某种结构,但是指针?另外,结构体末尾不应该有
;
吗?例如,
node
在主体末尾有
;
,但没有
node*
?

c++ elaborated-type-specifier
1个回答
0
投票

struct node*
是函数
newNode()
的返回类型,本身并不是定义。您所指的行是函数
newNode
的签名。接下来是两个大括号 {} 之间的函数定义。函数定义末尾不需要
;

© www.soinside.com 2019 - 2024. All rights reserved.