C++ 向量分配器错误
Posted
技术标签:
【中文标题】C++ 向量分配器错误【英文标题】:C++ vector allocator error 【发布时间】:2016-09-30 22:17:20 【问题描述】:我正在尝试用 gcc 编译
#include <string>
#include <vector>
std::vector < std::string, std::vector < std::vector < int > > > plain;
int main()
return 0;
但出现错误: 错误:'class std::vector" > >' 没有名为'deallocate'的成员
【问题讨论】:
也许您想使用std::map
或std::unordered_map
??。请参阅如何mcve
和一些强烈推荐C++ texts。此外,C++ tag
wiki 也有一些很好的指导可以让你跑步。
在这个 sn-p 中你想做什么真的不是很清楚。正如其他人已经指出的那样, std::vector 的第二个参数必须是分配器,而不是另一个 std::vector 类/实例
【参考方案1】:
您的plain
是std::vector<std::string, NotReallyAnAllocator>
,其中NotReallyAnAllocator
是std::vector < std::vector < int > >
。
std::vector
(任何东西)不是分配器,编译器明确抱怨它没有实现必要的分配器接口。
我不确定您想要实现什么,但如果您需要键值容器,请查看 std::unordered_map
和 std::map
。
【讨论】:
以上是关于C++ 向量分配器错误的主要内容,如果未能解决你的问题,请参考以下文章