Товарищи
Не работает следующее:
vector<string>::iterator c;
for( c = holdtype.begin(); c != holdtype.end(); c++)
{
if( *c == "preposition" )
{
c++;
if( *c == "unknown" )
{
c++;
if( *c == "unknown" )
{
c++;
if( *c == "unknown" )
{
cout <<endl <<"This should be a verb " << *c;
}
}
}
}
}
Странно то, что он работает для определенного количества данных. Как только оно выходит за рамки примерно 30 слов, оно перестает работать и выдает «ошибку без разыменования».
Я пробовал это, и это дает те же результаты:
vector<string>::iterator c;
c = holdtype.begin();
while( c != holdtype.end())
{
if( *c == "preposition" )
{
if( c != holdtype.end() ) { c++; } else { break; }
if( *c == "unknown" )
{
if( c != holdtype.end() ) { c++; } else { break; }
if( *c == "unknown" )
{
if( c != holdtype.end() ) { c++; } else { break; }
if( *c == "unknown" )
{
cout <<endl <<"This should be a verb " << *c;
}
}
}
}
if( c == holdtype.end() ) { break; } else {c++;}
}
Я пытаюсь понять это уже несколько дней, я новичок.