读书人

c++ stl set vc编译这个如何报错

发布时间: 2013-04-21 21:18:07 作者: rapoo

c++ stl set vc编译这个怎么报错啊
//最后一行报错。
#include "stdafx.h"
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> set1;
for(int i=0; i<10; ++i)
set1.insert(i);
for(set<int>::iterator p=set1.begin();p!=set1.end();++p)
cout<<*p<<"";
if(set1.insert(3).second)
cout<<"set insert success";
else
cout<<"set insert failed";

int a[] = {4, 1, 1, 1, 1, 1, 0, 5, 1, 0};
multiset<int> A;
A.insert(set1.begin(),set1.end());

}
[解决办法]
我编译了没报错 VS2010
[解决办法]
报错信息具体一点,是什么?
[解决办法]
从错误信息看,VC的multiset.insert()只接受multiset::iterator。这是不是没有成员函数模板的版本?
[解决办法]
g++编译无错啊!
[解决办法]
multiset的迭代器与set的不兼容,还是在外层遍历set使用插入操作吧。复杂度是一样的。

读书人网 >C++

热点推荐