не может выполнить цикл с итерацией в C ++ - PullRequest
0 голосов
/ 03 апреля 2012

Я занимаюсь разработкой библиотеки игр , где я могу добавлять или удалять свои игры.До сих пор я только что составил список из 3 игр в стандарте, но когда я пытался его протестировать.Это дало мне ошибку.

Я пытаюсь сделать это с итерацией на моем векторе, но по какой-то причине это не сработает.И я не могу найти эту причину.

вот мой код:

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main()
{

vector<int>::const_iterator iter;

vector<string> games;
games.push_back("Crysis 2");
games.push_back("God of War 3");
games.push_back("FIFA 12");

cout <<"Welcome to your Games Library.\n";
cout <<"These are your games:\n";
for (iter = games.begin(); iter != games.end(); ++iter)
{
    cout <<*iter <<endl;
}

return 0;

}

Ответы [ 3 ]

4 голосов
/ 03 апреля 2012

типы вашего итератора и вашего веткора несовместимы.

использование:

vector<string>::const_iterator iter;

Чтобы упростить задачу, возможно, лучше ввести тип вашей коллекции:

typedef std::vector<std::string> GamesListType;
GamesListType::const_iterator iter;
GamesListType games;
2 голосов
/ 03 апреля 2012

ваш итератор не соответствует типу контейнера: объявите так

vector<string>::const_iterator iter;
0 голосов
/ 03 апреля 2012

Вы пытаетесь перебрать вектор string с помощью константного итератора int.Измените свой тип итератора.

...