Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Деприкатный имплицит std::map. / 9 сообщений из 9, страница 1 из 1
06.04.2007, 10:45
    #34442564
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деприкатный имплицит std::map.
Все время использовал итераторы в map, все было нормально. Сделал класс оболочку на map окружающий его мьютексом, так он начал ругаться:

автор

g++ -c -W -Wall -O3 ../../vyzovLoader/trunk/vyzov_loader.cpp -o objs/vyzovLoader/vyzov_loader.o
In file included from ../../vyzovLoader/trunk/vyzov_loader.h:15,
from ../../vyzovLoader/trunk/vyzov_loader.cpp:1:
../../common/stl/map.h:23: warning: `std::map<Key, Val, std::less<_Key>,
std::allocator<std::pair<const _Key, _Tp> > >::iterator' is implicitly a
typename
../../common/stl/map.h:23: warning: implicit typename is deprecated, please see
the documentation for details


Почему ругается только в этом случае?
Действительно ли итератор в map деприкатный?
Что делать?
...
Рейтинг: 0 / 0
06.04.2007, 11:24
    #34442743
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деприкатный имплицит std::map.
AkhВсе время использовал итераторы в map, все было нормально. Сделал класс оболочку на map окружающий его мьютексом, так он начал ругаться:

автор

g++ -c -W -Wall -O3 ../../vyzovLoader/trunk/vyzov_loader.cpp -o objs/vyzovLoader/vyzov_loader.o
In file included from ../../vyzovLoader/trunk/vyzov_loader.h:15,
from ../../vyzovLoader/trunk/vyzov_loader.cpp:1:
../../common/stl/map.h:23: warning: `std::map<Key, Val, std::less<_Key>,
std::allocator<std::pair<const _Key, _Tp> > >::iterator' is implicitly a
typename
../../common/stl/map.h:23: warning: implicit typename is deprecated, please see
the documentation for details


Почему ругается только в этом случае?
Действительно ли итератор в map деприкатный?
Что делать?
Сам виноват где-то в typedef забыл написать typename
...
Рейтинг: 0 / 0
06.04.2007, 11:30
    #34442776
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деприкатный имплицит std::map.
гы, а чо, разве он автор std::map ?
...
Рейтинг: 0 / 0
06.04.2007, 11:38
    #34442819
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деприкатный имплицит std::map.
blindedСам виноват где-то в typedef забыл написать typename

гениально!

Код: plaintext
1.
2.
3.
4.
5.
6.
template <typename Key, typename Val>
class mapMutex {
    protected:
        typedef map<Key, Val> Map;
        typedef typename Map::iterator ItMap; //вот тут забыл
...

А что, ему и так не понятно?

Так не давится:
Код: plaintext
1.
2.
3.
4.
typedef map<int, SomeData> Map;
...
Map::iterator it = ...
...

а при определении нового типа итератора сомневаться что-ли начинает?
...
Рейтинг: 0 / 0
06.04.2007, 11:40
    #34442825
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деприкатный имплицит std::map.
maXmoгы, а чо, разве он автор std::map ?

Прикинь, blinded угадал. :)

Я std::map перешаблонил.
...
Рейтинг: 0 / 0
06.04.2007, 11:40
    #34442830
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деприкатный имплицит std::map.
maXmoгы, а чо, разве он автор std::map ?
Не, он автор защищенного класса и где нибудь внутри него написал
typedef std::map<K, T>::iterator iterator;
а вот typename забыл было
typedef typename std::map<K, T>::iterator iterator;
...
Рейтинг: 0 / 0
06.04.2007, 11:43
    #34442847
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деприкатный имплицит std::map.
Akh maXmoгы, а чо, разве он автор std::map ?

Прикинь, blinded угадал. :)

Я std::map перешаблонил.
Я не угадал, я сам об это стокма шишок набил
...
Рейтинг: 0 / 0
06.04.2007, 11:56
    #34442933
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деприкатный имплицит std::map.
Akhа при определении нового типа итератора сомневаться что-ли начинает?это требование такое для шаблонных тайпдефов, подробнее – в стандарте. Не думал, что ты тайпдеф трогал; если его не трогать, ошибок быть не должно.
...
Рейтинг: 0 / 0
06.04.2007, 12:22
    #34443035
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деприкатный имплицит std::map.
maXmo Akhа при определении нового типа итератора сомневаться что-ли начинает?это требование такое для шаблонных тайпдефов, подробнее – в стандарте. Не думал, что ты тайпдеф трогал; если его не трогать, ошибок быть не должно.

Усе. ПонЯл. Стандарт, он и в африке стандарт.

blinded, maXmo, спасибо, уже месяца 2 это варнинг меня периодически нервы щекотил. :) Как заноза - и разбираться лень, и не приятно.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Деприкатный имплицит std::map. / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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