c ++嵌套结构图找不到成员

时间:2018-06-28 00:33:55

标签: c++ struct

我正在尝试制作纸牌游戏,并决定将单个纸牌类型的数据作为结构存储在主结构中。这似乎工作正常。但是,当尝试映射该结构时,编译器看不到成员。“艺术不是Cards的成员” ,我在任何地方都找不到解决此问题的方法。帮助将不胜感激

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 :(得分:0)

代码Vars [nametext]有Cards的实例,而Cards确实没有Art成员,而是有card0011等成员。

具有Art会员的是结构Card001。

//  This is allocated in **C++/CLI**.
MyRefClass ^mrc = gcnew MyRefClass();
MyRefClass *mrc2 = new MyRefClass;

// If allocated in **C#**
MyRefClass mrc3 = new MyRefClass()

了解您定义的结构的层次结构。