【发布时间】:2015-11-04 10:36:13
【问题描述】:
我正在使用 Win32 API 制作 CCG(集体纸牌游戏),但遇到了错误。
出于测试目的,我使用 Hearthstone(流行的 CCG)中的不同卡牌的名称创建了一个枚举。
enum cardnames {ArcaneExplosion, ArcaneIntellect, ArcaneMissiles};
然后我创建了一个名为“玩家卡”的枚举对象数组(其中 3 个)。
cardnames playercards[2];
然后我使用 rand() 函数将对象设置为随机枚举。
playercards[0] = cardnames(rand() % 2 + 0);
playercards[1] = cardnames(rand() % 2 + 0);
playercards[2] = cardnames(rand() % 2 + 0);
然后最后将枚举打印到控制台窗口。
cout << playercards[0] << endl;
cout << playercards[1] << endl;
cout << playercards[2] << endl;
但是,这导致了堆栈损坏错误,我对内存的工作原理不是很了解。有人可以帮我修复这个错误吗?
【问题讨论】:
标签: c++ visual-c++ memory-management stack runtime-error