今天我試圖打印一個集合的元素,它進入了一個無限循環。 當我試圖獲取集的大小,它返回我正確的值是8std :: set的迭代不會結束
代碼就像它上面獲取大小之前宣佈這個
std::cout << "size of set is " << myset.size();
for(it=myset.begin();it!=myset.end();it++)
std::cout << "value is : " << *it;
迭代器。其中一個有趣的事實是,打印時,其中一個預期的元素從設置中丟失。
我知道我會對你生氣或犯一些愚蠢的錯誤,但我擔心的是,它是 myset.end()指向一些隨機的地方嗎?但是,即使如此,爲什麼是它衍生自組的元素,同時印刷,而不是崩潰
問題在於你沒有向我們展示的代碼。 – 2012-01-12 17:59:11
我的擔心是可以結束()函數去haywire ...我從來沒有見過它 第二件事是爲什麼它給大小爲8,我有for循環正好在我打印大小的語句下面。它怎麼會發生這樣的錯誤? – Invictus 2012-01-12 18:03:22
請發佈一個*完整的*,*最小*示例程序,以顯示您的錯誤。一個* complete *程序是我們可以複製粘貼和編譯的程序。一個*最小*程序不包含與您的問題無關的行。我知道製作一個似乎很難,但它很有價值。我們將能夠更好地解決您的問題。另外,您可以在生產最小樣本時自行解決。請參閱http://sscce.org/。 – 2012-01-12 18:11:35