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

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

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
27.10.2005, 06:36
    #33346452
archez
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто поможет побороть <deque> ?
ошибся немного в примере кода:

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
27.10.2005, 15:11
    #33347850
Yet another cat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто поможет побороть <deque> ?
Так Array subscript operator [] имеет больший приоритет, чем разыменование *. Скобочки расставь.

n=(*ptrMyDeque)[0];

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

n=(*ptrMyDeque)[0];

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


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


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