4

構造内で列挙型を使用しようとしていますが、次のエラーが発生します。

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;
  }
 
4

1 に答える 1

5
book.currency = DOLLAR;

する必要があります

book.currency = shelf::DOLLAR;
于 2013-08-10T20:45:28.067 に答える