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