Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Ошибка компиляции при включении #include <vector> - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ const_cast для чего и как функционирует http://www.cyberforum.ru/cpp-beginners/thread946080.html
Дошел в свой книге (Дейтел) до const_cast, не могу понять смысла, т.к. там нагромождено не нужно кода в примере, в 5 раза больше самого примера, вот я сделал свой пример: const int var = 10; ...
C++ Скачивание html исходника Здравствуйте) Хочу попросить помощи в следующем: Есть интернет страница с полем ввода данных (номер) после ввода номера на странице (той же) выдается информация о введенном номере Хочу написать... http://www.cyberforum.ru/cpp-beginners/thread946078.html
C++ NDEBUG и DEBUG
зачем нужны константы NDEBUG и DEBUG?? спасибо.
Исходник чата C++
Всем приветик!:) Хочу задать вам один глупый вопросик...:) Есть у кого нибудь исходник какого нибудь чата?:) Что то искала, ничего подходящего не нашла...:( В общем, сейчас попробую описать...
C++ c++ box2d и opencv http://www.cyberforum.ru/cpp-beginners/thread946046.html
Работаю на Xcode с openframework, конкретнее с библиотеками box2d и opencv. Задача захватывать контур с помощью opencv и делать его физическим объектом. Добился того что могу получать точки...
C++ Разработка приложения для symbian на языке c++ Разработка приложения для symbian на языке c++. Приложение-записная книга с простейшим интерфейсом.Проблема заключается в следующем - если в записи встретится номер телефона, то его можно выделить... подробнее

Показать сообщение отдельно
Cynacyn
33 / 33 / 0
Регистрация: 02.05.2013
Сообщений: 109
30.08.2013, 23:12  [ТС]
Цитата Сообщение от Kastaneda Посмотреть сообщение
Поковырял немного. Вся проблема оказалась в использовании swap'а, точнее в том, что в MS реализации <vector> тоже есть swap, который похоже ближе подходит по параметрам шаблона, чем любая перегрузка std::swap(), поэтому она и выбирается. А параметрами этого swap'а являются _Vb_reference, а внутри _Vb_reference есть такая строка
C++
1
typedef _Vb_iter_base<_Alloc> _Mybase;
и уже внутри _Vb_iter_base есть
C++
1
typename _Alloc::difference_type
т.е. ожидается, что внутри vector_base есть этот typedef.

Проблема решается добавлением в vector_base двух строк
C++
1
2
    typedef ptrdiff_t difference_type ;
    typedef size_t size_type ;
и на будущее советую сразу делать все нужные typedef'ы во избежание таких вот непонятных (на первый взгляд) проблем.
Спасибо!
Я мало что понял, потому что практически не использовал typedef. Не проходил ещё.
Что значит "все нужные typedef'ы" ? То есть какие из них нужные?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru