C++相談室 part39
■ このスレッドは過去ログ倉庫に格納されています
0303227
05/03/16 11:26:56#include <iostream>
#include <set>
using namespace std;
int main()
{
MyCmp<int>::cmp_mode vmode;
char c;
do{
cout << "Input order(a or d)=>"; cin >> c;
switch(c){
case 'a': vmode = MyCmp<int>::asc; break;
case 'd': vmode = MyCmp<int>::desc; break;
default : c = '\0'; break;
}
}while(!c);
MyCmp<int> mcmp(vmode);
set<int,MyCmp<int> > iset(mcmp);
// 代替案(一時オブジェクト) TEST: Borland C++ 5.5.1
//set<int,MyCmp<int> > iset(MyCmp<int>(vmode)); //エラー
//set<int,MyCmp<int> > iset((MyCmp<int>(vmode))); // ok
//set<int,MyCmp<int> > iset(MyCmp<int>()); //エラー
//set<int,MyCmp<int> > iset((MyCmp<int>())); //エラー
iset.insert(4);iset.insert(3);iset.insert(5);
iset.insert(1);iset.insert(6);iset.insert(2);
copy(iset.begin(),iset.end(),ostream_iterator<int>(cout," "));
}
■ このスレッドは過去ログ倉庫に格納されています