#include<iostream>
#include<set>
#include<algorithm>
#include<functional>
using namespace std;
template<class T>
void display(char* name, T& t)
{
cout << name;
multiset<int>::iterator it = t.begin();
while (it != t.end())
{
cout << *it++ << endl;
}
cout << endl;
}
void main()
{
int a[] = { 1,8,9,5,4,6,7 };
int size = sizeof(a) / sizeof(int);
multiset<int>T1;
for (int i = 0; i < size; i++)
T1.insert(a[i]);
display("s1=", T1);
system("pause");
}
你子函数定义模板并没有用到,直接这样就行了:
第一个入参 加上 const 试试
#include<iostream>
#include<set>
#include<algorithm>
#include<functional>
using namespace std;
template<class T>
void display(const char* name, T& t)
{
cout << name;
multiset<int>::iterator it = t.begin();
while (it != t.end())
{
cout << *it++ << endl;
}
cout << endl;
}
int main()
{
int a[] = { 1,8,9,5,4,6,7 };
int size = sizeof(a) / sizeof(int);
multiset<int>T1;
for (int i = 0; i < size; i++)
T1.insert(a[i]);
display("s1=", T1);
system("pause");
return 0;
}