typedef struct
{
int first=0; //0 white;1 grey
TreeNode* second ;
}MyNode;
定义一个结构体时,初始化了第一个成员变量,然后使用顺序初始化
MyNode temNode2 = {0,root};
时,编译器报没有对应的构造函数。
最后发现去掉结构体中对first成员的初始化,
typedef struct
{
int first; //0 white;1 grey
TreeNode* second ;
}MyNode;
就可以使用顺序初始化了。个人分析,应该是初始化成员变量,等于定义自己的构造函数,覆盖了默认的构造函数,使顺序初始化不能使用。