具有宏值的 C 结构初始化
C struct initialization with macro value
我知道 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。我想将 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
没有尾随 ;
。