c++基础:普通变量初始化与类内初始值初始化的不同

首先说一下普通变量的初始化方法有很多:

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
这篇文章有其他一些关于初始化的歧义问题。

猜你喜欢

转载自blog.csdn.net/qq_36328643/article/details/62075851