我是STL / C ++ 11编程的新手,我正在通过动作来理解它。
我担心我会被困在看似简单的任务上,交换字符串列表。
当我使用std::swap()
方法交换两个字符串列表时,我没有错误,但列表类成员函数swap()给了我一个访问冲突:
#include<iostream>
#include<list>
#include<string>
using namespace std;
int main()
{
list<string> superheroes {"Spidey", "Supes", "Bats"};
list<string> supervillains {"Goblin", "Luthor", "Joker"};
std::swap(superheroes, supervillains); //swaps fine
superheroes.swap(supervillains); //access violation
return 0;
}
我正在使用Visual Studio Pro 2013。