我目前得到以下編譯錯誤:列表< T > ::迭代器或語法錯誤?
In function 'int main()':
error: expected primary-expression before '>' token
error: missing template arguments before 'i'
error: expected ';' before 'i'
error: 'i' was not declared in this scope
我突出行的第一個錯誤標誌在下面的代碼塊:
// test highscoresfilemanager reading & writing
/*
HighScorePair paira("holly", 10);
HighScorePair pairb("carl", 20);
*/
list<HighScorePair> list;
//list.push_back(paira); list.push_back(pairb);
HighScoresFileManager::GetInstance()->ReadFileToList(list);
list<HighScorePair>::iterator i; //ERROR FLAGS HERE ODDLY
for(i = list.begin(); i != list.end(); ++i)
std::cout << (*i).playerName << " " << (*i).playerScore << std::endl;
我留下了一些註釋文本我以前用來測試一些東西,因爲我確定那些註釋掉的文本完美地工作,如果它工作正常,我不明白爲什麼我添加的新代碼不起作用,我沒有使用任何新的類或任何東西,我只是試圖得到一個迭代器設置。
我覺得很粗魯,因爲我覺得我基本上是要求某人檢查我的語法,我一直在閱讀它,並認爲我必須在某處丟失一個冒號但是我只是不能看出問題所在!一個新的眼睛將不勝感激!我很感激你可能想要更多的代碼(我可以提供),但正如我所說,如果東西評論出來的工作,然後我認爲新的代碼應該。
或甚至更好,不要把'std :: list'放入全局命名空間 – jalf 2012-04-23 16:57:28
ohhh我甚至都沒有想到!上帝多麼傻,謝謝你! – Holly 2012-04-23 17:02:02
不會再犯這個錯誤!只需編寫懶惰的測試代碼 – Holly 2012-04-23 17:02:49