c++ - 如何在结构 C++ 中使用枚举

标签 c++ struct enums

我试图在结构中使用枚举,但出现以下错误:

union.cpp:27:21: error: ‘DOLLAR’ was not declared in this scope
 book.currency = DOLLAR;
                 ^

这是我的代码:

 struct shelf{
      char title[50];
      char author[50];
      union {
          float dollars;
          int yens;
      };
 
      enum {
          DOLLAR = 1, YEN
      } currency;
  } book;
 
  int main () {
      strcpy(book.title,"book 1");
      strcpy(book.author, "author 1");
 
      book.dollars = 100;
 
      book.currency = DOLLAR;
 
      cout << book.currency;
      return 0;
  }
 

最佳答案

book.currency = DOLLAR;

应该是

book.currency = shelf::DOLLAR;

关于c++ - 如何在结构 C++ 中使用枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18166162/

相关文章:

c - 奇怪的寄存器定义、声明和使用

iphone - 更改枚举类型值

azure - 将字符串参数绑定(bind)到 Azure Function 中的 Enum 类型

c - typedef 枚举,在其中赋值

php - FB如何创建FBML?

C++ 如何显示骰子模拟器结果的百分比输出

c++ - 如何对结构C++的 vector 进行排序

c++ - 我的哈希表比二进制搜索慢

c++ - 如何在 C++ 中匹配正则表达式中的\0 字符?

c - 声明时初始化匿名 union 内的字段