zoukankan      html  css  js  c++  java
  • C++出现error: 'class std::vector<int, std::allocator<std::basic_string<char> > >' has no member named 'deallocate'

    代码如下:

    class SpeechManager
    {
    public:
        vector<vector<int>> vec;    //保存第一轮、第二轮、决赛选手编号
        map<int, Speaker> m_Speaker;    //所有选手信息-编号+选手类
        vector<int> m_RandomV;  //抽签顺序存放容器
        int m_Index;    //当前轮数
        vector<int, vector<string>> m_Records;    //往届记录
    }

    编译出错:

    D:softwaredestinationQt5.6.1Toolsmingw492_32i686-w64-mingw32includec++itsalloc_traits.h:383: error: 'class std::vector<int, std::allocator<std::basic_string<char> > >' has no member named 'deallocate'
           { __a.deallocate(__p, __n); }
             ^

    分析解决:

    分析error后的提示,对于vector容器来说,里面存放的只有一种类型的数据,而在C++的常见容器中,只有map/multimap支持键值对存放形式,所以将存放往届记录的类成员变量的类型设置为map<int, vector<string>>即可

  • 相关阅读:
    二维数组中的查找
    排序算法——冒泡、选择、插入
    排序算法——快速、归并
    最小的K个数
    重建二叉树
    反转链表
    LeetCode 278 第一个错误的版本
    LeetCode 929 独特的电子邮件地址
    LeetCode 38 报数
    模型参数初始化
  • 原文地址:https://www.cnblogs.com/BASE64/p/14349284.html
Copyright © 2011-2022 走看看