【c++】 error: invalid conversion from ‘int‘ to ‘enumType‘ [-fpermissive]解决方案
2023-12-19 23:24:47
问题
进行枚举之间加法运算时,直接输出结果正常,但赋值后进行输出报错。
示例如下:
typedef enum _eNo{
NONE = 0,
ONE = 1,
TWO = 2,
THREE = 3
}NO;
NO no1, no2;
no1 = ONE;
no2 = TWO;
// NO no3 = no1 + no2;
qDebug().noquote() << no1 + no2;
输出结果:
以上运算后进行输出,正常
接下来,进行赋值后输出。
NO no1, no2;
no1 = ONE;
no2 = TWO;
NO no3 = no1 + no2;
qDebug().noquote() << no3;
会报错:
解决方案
根据错误信息可以得出:
int 转 No 是无效转换。
所以,需要手动进行转换,代码如下:
NO no1, no2;
no1 = ONE;
no2 = TWO;
NO no3 = NO(no1 + no2);
qDebug().noquote() << no3;
再次输出:
结论
有时候记忆这东西真的很难捉摸,偶尔会想起一些仅仅见过几面甚至擦肩而过的人,却想不起初中里坐最后一排的人是什么模样。别把生活想的太难,感恩自己还活在这人世间。生活没有答案,生活不需要答案
。
文章来源:https://blog.csdn.net/MrHHHHHH/article/details/135090681
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!