首先说一下普通变量的初始化方法有很多:
int num = 1;
int num = {1};
int num {1}; //2、3种是列表初始化,单独一个变量慎用
int num = (1);
int num (1);
上述方法都可以。
但是在struct的类内初始化就有一种不可以,就是上述的最后一种,因为会和函数int num()有歧义。
所以在初始化的时候还是建议用=,并且用平常的方法写。
https://zhuanlan.zhihu.com/p/21102748
这篇文章有其他一些关于初始化的歧义问题。