使用宏值进行C struct初始化

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

我知道C ++,我正在学习C.我想将nullptr定义为NULL,但是当我使用括号初始化结构时,它会导致错误,并说预期为'}'。我正在使用visual studio编译器,我的代码示例如下:

#define nullptr NULL;

typedef struct
{
    int data;
    struct Node* next;
} 
Node;

//works fine
Node myNode1;
myNode1.data = 1;
myNode1.next = nullptr;

//works fine
Node myNode2 = {1, NULL};

//error E0067   expected a '}'
Node myNode3 = {1, nullptr };
c visual-studio struct undefined-symbol
1个回答
0
投票

nullptr定义为

#define nullptr NULL

没有尾随;

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