次のコードを修正するには、どのような魂も分かります。オブジェクトをリストに挿入
"d1.insert(d1.begin()、it [0]);"その出力は以下の通りです:
プログラムがsuccessfuly実行され、ディスプレイ:1 2 3 4 5 6 7 8 9 10
#include <list>
#include <deque>
#include <iostream>
using namespace std;
template<typename T> ostream & print(const T & start, const T & end)
{
T tmp = start;
for(; tmp != end; ++tmp)
{
cout<< *tmp<< " ";
}
return cout;
}
class A
{
public:
int a;
public:
A(int a):a(a) {}
A(const A & a) {}
};
ostream & operator<<(ostream & c, const A & o)
{
c<<o.a;
return c;
}
int main()
{
int tab[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
list<A> l1(tab, tab+10);
deque<A> d1;
list<A>::iterator it;
for(it = l1.begin(); it != l1.end(); ++it)
{
d1.insert(d1.begin(), it[0]);
}
print(d1.begin(), d1.end())<<endl;
return 0;
}
どうしたのですか?リストを正しく表示するかどうかここで 'std :: copy'を使用できますか? – tadman