-1
我有一組Tuple類型。元組包含一個字符串向量。當我輸出大小進行調試時,輸出大小爲4,這是正確的,但是當我嘗試關閉第一個元素時,我會遇到瘋狂的東西(內存)。爲什麼它不返回字符串?迭代器返回大小> 0但不會輸出元素
cout<<"temp size:"<<temp.getTuples().size()<<" r size:"<<r.getTuples().size()<<endl;
set<Tuple>::iterator it=temp.getTuples().begin();
t=*it;
cout<<t.getTuple().size()<<" "<<t.getTuple()[0]<<endl;
for(set<Tuple>::iterator it=temp.getTuples().begin();it!=temp.getTuples().end();++it)
{
for(set<Tuple>::iterator jt=r.getTuples().begin();jt!=r.getTuples().end();++jt)
{
t=*it;
a=t.getTuple();
e=*jt;
b=e.getTuple();
vector<string> ab;
cout<<"a size:"<<t.getTuple().size()<<" b size:"<<e.getTuple().size()<<endl;
cout<<"a size:"<<a.size()<<" b size:"<<b.size()<<endl;
對不起有不少COUTS進行調試。 Temp是在控制檯中首先打印出來的一組元組(3),r是第二個打印出來的一組元組(5)。打印出來的4是參照集合中的元組(矢量)的大小並且是正確的。輸出應該打印'12345'。任何幫助,爲什麼它的打印內存位置將不勝感激。