我知道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 };

最佳答案

nullptr定义为

#define nullptr NULL


没有结尾的;

关于c - 使用宏值进行C结构初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54841319/

10-11 22:23
查看更多