powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Кто поможет побороть <deque> ?
4 сообщений из 4, страница 1 из 1
Кто поможет побороть <deque> ?
    #33346451
archez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время, коллеги!

Всегда считал, что можно создать и использовать указатель на любой тип данных.
Но вот неожиданно столкнулся с такой проблемкой:

typedef std::deque<int> INTDeque;
INTDeque MyDeque1;
INTDeque MyDeque2;
INTDeque* ptrMyDeque;
int n;

//***

MyDeque.push_back(0)
ptrMyDeque=&MyDeque;
n=MyDeque[0]; // все ok
n=*ptrMyDeque[0]; // получаю ошибку
// E2093 Operator 'operator' not implemented
// in type 'type' for arguments of the same type

Подскажите кто знает как можно обойти это ограничение или подскажите где я ошибся. Мне нужно в зависимости от условия чтобы ptrMyDeque указывал либо на MyDeque1, либо на MyDeque2.

Заранее благодарен,
с уважением Евгений.
...
Рейтинг: 0 / 0
Кто поможет побороть <deque> ?
    #33346452
archez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ошибся немного в примере кода:

typedef std::deque<int> INTDeque;
INTDeque MyDeque1;
INTDeque MyDeque2;
INTDeque* ptrMyDeque;
int n;

//***

MyDeque1.push_back(0);
ptrMyDeque=&MyDeque;
n=MyDeque1[0]; // все ok
n=*ptrMyDeque[0]; // получаю ошибку
// E2093 Operator 'operator' not implemented
// in type 'type' for arguments of the same type
...
Рейтинг: 0 / 0
Кто поможет побороть <deque> ?
    #33347850
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так Array subscript operator [] имеет больший приоритет, чем разыменование *. Скобочки расставь.

n=(*ptrMyDeque)[0];

=====
Cat и его покойный друг Chicago
...
Рейтинг: 0 / 0
Кто поможет побороть <deque> ?
    #33352189
archez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yet another catТак Array subscript operator [] имеет больший приоритет, чем разыменование *. Скобочки расставь.

n=(*ptrMyDeque)[0];

=====
Cat и его покойный друг Chicago


Хмм... действительно, надо же было наступить на такие грабли...
Спасибо.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Кто поможет побороть <deque> ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]