本文主要是介绍【c++】 error: invalid conversion from ‘int‘ to ‘enumType‘ [-fpermissive]解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题
进行枚举之间加法运算时,直接输出结果正常,但赋值后进行输出报错。
示例如下:
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;
再次输出:
结论
有时候记忆这东西真的很难捉摸,偶尔会想起一些仅仅见过几面甚至擦肩而过的人,却想不起初中里坐最后一排的人是什么模样。别把生活想的太难,感恩自己还活在这人世间。生活没有答案,生活不需要答案
。
这篇关于【c++】 error: invalid conversion from ‘int‘ to ‘enumType‘ [-fpermissive]解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!