【发布时间】:2016-10-29 01:10:21
【问题描述】:
我正在阅读有关 std::vector 的博客。请参阅此website 中的交换内容部分。
基本上,它说swap() 方法的一个常见应用是强制向量释放它持有的内存。但是在我运行下面的代码之后,我得到了错误Error: no matching function for call to 'std::vector<int>::swap(std::vector<int>)'|。哪里出了问题?
#include <iostream>
#include <vector>
int main( )
{
std::vector<int> v;
v.push_back(1); v.push_back(2);
v.clear();
v.swap(std::vector<int>(v));
return 0;
}
【问题讨论】: