首页 > 解决方案 > 从 ENUM 中检索字符串值时遇到问题

问题描述

我是 C++ 的初学者,我决定使用 ENUMS 制作一个简单的游戏,但是我正在努力从 C++ 中使用的 ENUM 类型中获取字符串,我看到了很多关于在头文件中使用特定 API 的信息,例如 BETTER_ENUM 等。但这似乎超出了我的想象。

双枚举,等级和花色。

enum Rank { ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE
};

enum Suit {
    HEARTS, DIAMOND, SPADES, CLUBS
}; 
void print_deck(const Deck& deck) {
    for (Card c : deck.cards) 
    {
        print_card(c);
    }
} 
void print_card(const Card& card) {
    cout << "Rank " << card.rank << " of " << "Suit " << card.suit << '\n';     
}

我已经阅读了很多关于制作 switch 语句的内容,该语句根据打印出的值返回一个字符串。

这是能够将多个枚举打印到同一行上的字符串的好方法吗?

我到底该如何打印出枚举的字符串值,或者这在 C++ 中是不可能的?

标签: c++c++14

解决方案


推荐阅读