在数组中存储struct(C)
发布时间:2020-12-16 10:04:22 所属栏目:百科 来源:网络整理
导读:参见英文答案 No operator “=” matches these operands????????????????????????????????????2个 我对C很新,我遇到了将结构存储在数组中的问题.我已经在这个板上搜索过,但似乎没有人有我的具体问题. 我正在创建一个基于文本的RPG游戏,需要一系列动态法术.
参见英文答案 >
No operator “=” matches these operands????????????????????????????????????2个
我对C很新,我遇到了将结构存储在数组中的问题.我已经在这个板上搜索过,但似乎没有人有我的具体问题. 我正在创建一个基于文本的RPG游戏,需要一系列动态法术.法术是结构,定义如下: – struct spell { std::string mSpellName; int mRequiredMagicPoints; }; 然后我创建并初始化结构的两个实例: – spell fireBall {"Fire Ball",10}; spell magicMissile {"Magic Missile",5}; 然后,在main()中,我尝试将这两个实例存储在向量数组中: – int main() { std::vector<spell> mSpells[2]; mSpells[0] = fireBall; mSpells[1] = magicMissile; } 但是,Xcode对我大喊大叫并且写着“没有可行的重载’=’” 我还尝试将这些结构存储在传统的动态数组中,但它仍然无法编译.我究竟做错了什么? 提前致谢! 解决方法
的std ::矢量<&拼写GT; mSpells [2];定义向量数组.看起来你只想要一个两个元素的向量.所以你开始但只是定义一个向量:
std::vector<spell> mSpells; 然后你有several options添加元素: mSpells.push_back(fireBall); mSpells.emplace_back("Magic Missile",5); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |