我是一名學生,還沒有被教過矢量,但我現在需要使用它們。我正在嘗試製作一個結構向量。該結構是彙編代碼的標籤。每當我想添加一個標籤時,我調整矢量大小,但是,當我嘗試從標籤中檢索信息時,它們都是一樣的。不幸的是,我實際上不能分享我的代碼,但我會展示我認爲必要的線路來幫助我解決此問題。那麼,我做錯了什麼?如果您需要查看更多代碼,請告訴我。使用矢量
全局聲明:
vector<Label> labeldir;
調整大小矢量和添加信息,標籤是標籤的在彙編代碼文件的名稱:
labeldir.resize(labelnum + 1);
labeldir[labelnum].name = label;
注意:它是在while循環運行,labelnum每次發現一個標籤時都會發生。
每個標籤的訪問名稱的實例:
for (int i = 0; i < labeldir.size(); i++){
cout << "Label entry " << i << " name : " << labeldir[i].name << endl;
}
相應的輸出,注意問題(上述代碼在while循環中,這是它的3次迭代):
Label entry 0 name : start
Label entry 0 name : done
Label entry 1 name : done
Label entry 0 name : five
Label entry 1 name : five
Label entry 2 name : five
彙編代碼中的前3個標籤,第一個和第二個標籤之間會有行,但它們將是常規說明。:
start add 1 2 1 decrement reg1
done halt end of program
five .fill 5
,你可以表現出更多的代碼?你提到所有這些都在循環運行? – loganfsmyth 2013-04-22 04:06:57
那麼你應該真的只是使用push_back而不是像這樣調整大小。 – RandyGaul 2013-04-22 04:09:53
無法正確理解。你可以提一下,你期望什麼產出,你會得到什麼? – 2013-04-22 04:12:03