[SOLVED] stl vector

Автор wild_blood, 04 мая 2014, 21:02:20

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

wild_blood

Здравствуйте.
В обшем есть класс hugeint , в нем есть stl vector "number" и метод hugeint operator/(const hugeint &x) const.
Если в методе вызвать эту функцию number.insert(number.begin() , 0); , то компилятору почему-то это не понравится.
Вот выхлоп gcc 4.8
Открыть содержимое (спойлер)
../huge/hugeint.h:141:55: note:   cannot convert '((const hugeint*)this)->hugeint::number.std::vector<_Tp, _Alloc>::begin<short int, std::allocator<short int> >().__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator+<const short int*, std::vector<short int> >((* &1l))' (type '__gnu_cxx::__normal_iterator<const short int*, std::vector<short int> >') to type 'std::vector<short int>::iterator {aka __gnu_cxx::__normal_iterator<short int*, std::vector<short int> >}'
         number.insert(number.begin() , 0);
[свернуть]
Если вызвать эту функцию в конструкторе или деструкторе то компилятора все устраивает.

su16

потому что в константной функции нельзя менять состояние объекта.
Если вам дают бесплатное, то, скорее всего, товар - это вы.
https://occupyflash.org/

wild_blood