+ -
当前位置:首页 → 问答吧 → 请教类中定义的公用的枚举常量的引用问题

请教类中定义的公用的枚举常量的引用问题

时间:2010-08-16

来源:互联网

示例代码如下:
  1. using namespace std;

  2. class Base{
  3.     public:
  4.         enum Style{
  5.             kNormal,
  6.             kBlod
  7.         };  
  8. };

  9. int main(void)
  10. {
  11.     Base::Style st = Base::kBold;
  12.     return 0;
  13. }
复制代码
引用方法1:
Base::Style st = Base::kBold;
错误:error: error: ‘kBold’ is not a member of ‘Base’

谢谢!

引用方法2:
Base::Style st = kBold;
错误:error:‘kBold’ was not declared in this scope

作者: linux_kejun   发布时间: 2010-08-16

本帖最后由 liwangli1983 于 2010-08-16 12:37 编辑

看走眼了,编辑掉...

作者: liwangli1983   发布时间: 2010-08-16

# using namespace std;
#

# class Base{
#     public:
#         enum {
#             kNormal,
#             kBlod
#         };  
# };
#

作者: zylthinking   发布时间: 2010-08-16

typo :

kBlod  vs kBold

作者: drangon   发布时间: 2010-08-16

回复 liwangli1983
没有明白你的意思

作者: linux_kejun   发布时间: 2010-08-16

回复 zylthinking
也没有明白您的意思

作者: linux_kejun   发布时间: 2010-08-16

本帖最后由 zylthinking 于 2010-08-16 13:17 编辑


QUOTE:
回复  zylthinking
也没有明白您的意思
linux_kejun 发表于 2010-08-16 13:07




去掉 Style
Oh, 我错了

作者: zylthinking   发布时间: 2010-08-16

回复 zylthinking

以下是android源代码中定义的,有Style应该没有问题的吧?
  1. class SkTypeface : public SkRefCnt {
  2. public:
  3.     /** Style specifies the intrinsic style attributes of a given typeface
  4.     */
  5.     enum Style {
  6.         kNormal = 0,
  7.         kBold   = 0x01,
  8.         kItalic = 0x02,

  9.         // helpers
  10.         kBoldItalic = 0x03
  11.     };  
  12. ...
复制代码

作者: linux_kejun   发布时间: 2010-08-16