В первом утверждении it
де-ссылка на 0, поскольку элемент 1 в векторе равен 0. В моем втором операторе if я хотел бы увеличить значение it
перед его ссылкой.Операция de-reference in if
int function(vector<int>& vec){
for (auto it = vec.begin() + 1; it != vec.end(); ++it){
if (*it == 0)
{
cout << "element 1 = 0" << endl;
if (*(it +1) && *(it +2) == 0)
cout << "element 2 and 3 = 0";
return 0;
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
vector<int>grid = { 0, 0, 0, 0, 5, 2, 2, 2, 2 };
function(grid);
Выход:
элемент 1 = 0
Цель Выход:
element 1 = 0
element 2 and 3 = 0
Непонятно, что вы просите. –
Извините, я отредактировал мой вопрос. – mrmike