C++出现error: 'class std::vector > >' 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:\software\destination\Qt5.6.1\Tools\mingw492_32\i686-w64-mingw32\include\c++\bits\alloc_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>>即可


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM