У меня есть этот код:цикла в векторе с ++ с использованием итератора
std::vector<A>::iterator it;
for(auto it = m_vA.begin(); it != m_vA.end(); it++)
и я угольник ошибки:
ISO C++ forbids declaration of 'it' with no type
cannot convert '__gnu_cxx::__normal_iterator<A* const*, std::vector<tp::Vehicule*, std::allocator<A*> > >' to 'int' in initialization
и если я удалю авто
erreur: no match for 'operator=' in 'it = ((const B*)this)->B::m_vA.std::vector<_Tp, _Alloc>::begin [with _Tp = A*, _Alloc = std::allocator<A*>]()'
B является класс с моей петлей
Thanks
Какой компилятор вы используете? Каковы флаги компиляции, если вы используете gcc? – Raxvan
Похож, что 'm_VA' является' const' в этом контексте, поэтому для этого требуется 'std :: vector :: const_iterator it;'. Чтобы использовать 'auto', вам нужно включить функции' C++ 11', передав '-std = C++ 11' вашему компилятору. – Chad
Исходя из вашей ошибки, 'm_vA' имеет тип' std :: vector ', это правильно? –