C ++ Вложенная карта структуры не может найти члена - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь создать карточную игру и решил хранить данные отдельных типов карт в виде структуры внутри основной структуры. Который, кажется, работает нормально. Однако при попытке отобразить структуру компиляторы не видят участников. "Искусство не является членом карточек" Мне не удалось найти решение этой проблемы нигде. Помощь будет оценена

struct Card001 {
    sf::Texture Art;

    void loadArt() {
        if (!Art.loadFromFile("Sprites/BasicCard.png")) {
            // error...
        }
    }
};

struct Cards {
    struct Card001 card0011, card0012, card0013;
};

int function_cardTexture(int card) {
    //removes the last 1
    card = card - 10000;

    std::map < std::string, Cards > Vars;

    //turn int card into a string
    std::string a = static_cast < std::ostringstream * > ( & (std::ostringstream() << card)) - > str();

    //combines card and string a into one string
    std::string nametext = "Library.card" + a;

    sf::Texture text = Vars[nametext].Art;

    return (1);
}

1 Ответ

0 голосов
/ 28 июня 2018

Code Vars [nametext] получил экземпляр Cards, и у карт действительно нет элемента Art, вместо этого он имеет card0011 и т. Д.

У которых есть член Art это struct Card001.

Cards &cards = Vars[nametext];
Card001 &card0011 = cards.card0011;
sf::Texture &art = card0011.Art;

Почувствуйте иерархию структур, которые вы определили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...