STL中的简单allcator

在阅读《STL源码分析》的过程中,第二章2.1.1设计一个简单的空间配置器,在vs2019上通不过,报错:

错误 C2440 “static_cast”: 无法从“JJ::allocator”转换为“JJ::allocator

D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\vector 676

发现是没有加拷贝构造函数:

template
allocator(const allocator&) {}

然后重新编译,报错:

错误 C2512 “JJ::allocator::allocator”: 没有合适的默认构造函数可用

D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\xmemory 1328

继续加:

allocator() {}

OK,成功编译。

你可能感兴趣的:(STL中的简单allcator)