c – 从成员函数返回枚举

c – 从成员函数返回枚举,第1张

概述我想补充返回枚举函数: class myClass{ private: res _res; public: enum res{ok,fail}; res getRes() bool checkRes(res r); //other function that change _res value } 此实现生成编译错误: res my 我想补充返回枚举的函数:

class myClass{    private:    res _res;    public:    enum res{ok,fail};    res getRes()    bool checkRes(res r);    //other function that change _res value    }

此实现生成编译错误:

res myClass::getRes(){return _res;}

但以下是可以的:

myClass::res myClass::getRes(){return _res;}

为什么枚举返回类型应由范围指定
,虽然作为参数类型的枚举范围不是必需的 – 以下工作正常:

bool myClass::checkRes(res r){     if (_res == r){retun true;}     else {return false;} }
解决方法 因为返回类型不在类的词法范围内.如果您有支持它的C 11感知编译器,请使用尾随返回类型(也称为延迟指定的返回类型):

auto myClass::getRest() -> res{ return _res; }

之后的部分 – > (事实上​​,甚至是参数列表)已经属于该类的词汇范围,因此没有必要的资格.

总结

以上是内存溢出为你收集整理的c – 从成员函数返回枚举全部内容,希望文章能够帮你解决c – 从成员函数返回枚举所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1214413.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存