我正在尝试制作纸牌游戏,并决定将单个纸牌类型的数据作为结构存储在主结构中。这似乎工作正常。但是,当尝试映射该结构时,编译器看不到成员。“艺术不是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);
}
答案 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()
了解您定义的结构的层次结构。