void Verylong::normal() { for (auto i = lnum.begin(); i != lnum.back(); ++i) { if (abs(*i) >= base){ if (*i > 0) { if (i == lnum.back() - 1) lnum.push_back(*i / base); else *(i+1) += *i / base; *i %= base; } else{ if (i == lnum.back() - 1) lnum.push_back(*i / base); else *(i+1) += *i / base; *i = base + (*i % base); // т.к *i всегда отриц. а base всегда полож., эквивалентно *i = base - |i % base| } } } if (lnum[lnum.size() - 1] < 0){ lnum[lnum.size() - 1] *= -1; _sign = false; } else _sign = true; } gives an error on the line for (auto i = lnum.begin (); i! = lnum.back (); ++ i) what is the problem?