2014-07-03 65 views
0

我試圖遍歷的ComparisonPairstruct s。然而,我得到一個錯誤沒有可行的重載運算符[]爲std :: vector類型<ComparisonPair>

no viable overloaded operator[] for type 'std::vector<ComparisonPair>' 

這是代碼

std::vector<ComparisonPair>::iterator i; 
for (i = comparisons.begin(); i!= comparisons.end(); ++i) 

{

的std :: COUT < <比較[I]。名稱;

}

比較是的ComparisonPair小號 我在它與struct一個頭文件一樣簡單作爲vector

struct ComparisonPair 
{ 
std::string name; 
int count; 
} 
+6

你顯示的代碼甚至不使用'[]',所以顯然不是給你錯誤的代碼。發佈[MCVE](http://stackoverflow.com/help/mcve)。 – Angew

+0

這就像一個魅力,但:http://coliru.stacked-crooked.com/a/ad60a627c8c5e753 – 101010

+0

哦,出於某種原因認爲迭代是一個號碼,而不是類似於一個指針。謝謝! – user3340037

回答

0

第一次編寫C++這樣錯誤地認爲迭代工作作爲一種特殊類型的整數來保存不同的大小。它們類似於修復錯誤的指針。

相關問題