加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在数组中存储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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读