c++类型隐式转换的危险

很久之前团队关掉了隐式转换的warning(因此相应的treat warning as error)就也关掉了。
这个中间有着非常多的可怕的点,我觉得c++根本不应该把这个功能弄进来,都需要显式的转换;
要知道一个这样的错误需要多长时间的排查。

历史上出现问题的次数虽然不多,但是每一个都非常的难以排查,但这个其实默认就可以处理掉。

enum EAType
{
	ECT_a,
	ECT_b,
	ECT_Num//==2
};

enum EBType
{
    EURC_None, //disable
    EURC_a,
    EURC_b,
    EURC_Num//==3
};

EUserRenderConfig default = ECT_Num;//其实是想写=EURC_Num的,这种就非常的危险了

不管如何都要打开所有的warning,并且treat warning as error

发布了780 篇原创文章 · 获赞 460 · 访问量 165万+

猜你喜欢

转载自blog.csdn.net/ccanan/article/details/102510794
今日推荐